10 REM GOLF2.ECB 20 DIM H(100),S(100): REM... LAST CHANGE 05/06/78 R.E.H. 30 PRINT TAB(15);"(O) (O) (O) (O) (O) (O)" 40 PRINT TAB(15);"(O) G O L F 2 (O)" 50 PRINT TAB(15);"(O) (O) (O) (O) (O) (O)" 60 PRINT 100 REM...JOHN RODENBERG, TOM DOSLAND - NUSCC - 3/22/72 110 PRINT "BEFORE EACH HOLE A QUESTION MARK WILL APPEAR. IF YOU" 120 PRINT "WOULD LIKE TO CONTINUE PLAYING, TYPE A *1* (ONE)" 130 PRINT " AND IF YOU WOULD LIKE TO QUIT AND RECEIVE" 140 LET D1=INT(D1*W) 150 REM.... RANDOMIZE 160 DIM L(10),Y(20),A(20,4) 170 PRINT 171 PRINT "DO YOU DESIRE A LIST OF CLUBS, SWING INFORMATION," 172 PRINT " AND SCORING INFORMATION (YES OR NO)---=>"; 173 INPUT A1$ 174 IF A1$="YES" THEN 440 177 IF A1$="Y" THEN 440 180 PRINT 190 PRINT "DO YOU WANT A LIST OF COURSES"; 200 INPUT M$ 210 IF M$="YES" THEN 360 215 IF M$="Y" THEN 360 217 PRINT 220 PRINT "INPUT THE NUMBER OF THE COURSE YOU WISH TO PLAY"; 225 INPUT Z5 230 PRINT 240 IF Z5=1 THEN 340 250 IF Z5=2 THEN 310 260 IF Z5=3 THEN 830 270 IF Z5=4 THEN 1220 280 IF Z5=5 THEN 890 290 IF Z5=6 THEN 1120 300 GOTO 220 310 FOR Z4=1 TO 72 320 READ Z6 330 NEXT Z4 340 GOTO 860 350 PRINT 360 PRINT 365 PRINT "COURSE PAR YARDS" 370 PRINT "1=UNIVAC OAKS 72 6554" 380 PRINT "2=HAZLETINE NATIONAL 72 7152" 390 PRINT "3=SUNSET VIEW 68 4426" 400 PRINT "4=NEW ULM CC 71 5987" 410 PRINT "5=DOZROD LINKS 72 7240" 420 PRINT "6=INTERLACHEN 72 7200" 430 GOTO 220 440 PRINT 450 PRINT 460 PRINT "HERE'S YOUR BAG OF CLUBS" 470 PRINT 480 PRINT " WOODS (FULL SWING ONLY)" 490 PRINT " 1 DRIVER" 500 PRINT " 2 BRASSIE" 510 PRINT " 3 SPOON" 520 PRINT 530 PRINT " IRONS (FULL SWING ONLY)" 540 PRINT " 12 TWO IRON" 550 PRINT TAB(5);"." 560 PRINT TAB(5);"." 570 PRINT " 19 NINE IRON" 580 PRINT 590 PRINT " IRONS (LESS THAN FULL SWING)" 600 PRINT " 22 TWO IRON - PARTIAL SWING" 610 PRINT TAB(5);"." 620 PRINT TAB(5);"." 630 PRINT " 29 NINE IRON - PARTIAL SWING" 640 PRINT 650 PRINT " SORRY, NO SAND WEDGE IN THIS SET." 660 PRINT 670 PRINT "WHEN YOU REACH THE GREEN, IT WILL BE ASSUMED" 680 PRINT "THAT YOU ARE USING A PUTTER." 690 PRINT 700 PRINT "NOTE: SCORER WILL ASK YOU FOR 'PERCENT FULL SWING' " 710 PRINT " ON CLUBS 22-29. THIS SHOULD BE A NUMBER FROM" 720 PRINT " 1 TO 99." 730 PRINT 740 PRINT "YOUR HANDICAP MUST BE 0-30 ACCORDING TO PGA RULES." 750 PRINT 760 PRINT " PUTT POTENCY REFERS TO THE STRENGTH WITH WHICH THE" 770 PRINT " BALL IS PUTTED. USE NUMBERS GREATER THAN ZERO," 780 PRINT " INCREASING THE NUMBER FOR GREATER DISTANCE." 790 PRINT 800 PRINT 810 PRINT 815 GOTO 180 820 GOTO 860 830 FOR Z4=1 TO 144 840 READ Z6 850 NEXT Z4 860 LET X=3 870 LET N=.8 880 GOTO 930 890 FOR Z4=1 TO 288 900 READ Z6 910 NEXT Z4 920 GOTO 340 930 LET S2=0 940 LET F=1 950 PRINT "WHAT IS YOUR HANDICAP"; 960 INPUT H 970 IF H>30 THEN 1670 980 IF H<0 THEN 1670 990 IF H>9 THEN 1020 1000 PRINT "OH-OH, A HOT SHOT!" 1010 GOTO 1040 1020 IF H<20 THEN 1040 1030 PRINT "ANYONE FOR TENNIS" 1040 PRINT "DIFFICULTIES AT GOLF INCLUDE: 0=HOOK," 1050 PRINT " 1=SLICE, 2=POOR DISTANCE, 3=TRAP SHOTS, 5=PUTTING" 1060 PRINT "WHICH (ENTER ONLY ONE) IS YOUR WORST"; 1070 INPUT T 1080 IF T>5 THEN 1040 1090 IF T<0 THEN 1040 1100 LET Y(F)=0 1110 GOTO 1160 1120 FOR Z4=1 TO 360 1130 READ Z6 1140 NEXT Z4 1150 GOTO 340 1160 FOR Z=1 TO ((H+1)/(T+1))*10 1170 LET R=RND(0) 1180 NEXT Z 1190 LET L(1)=0 1200 LET J=0 1210 GOTO 1260 1220 FOR Z4=1 TO 216 1230 READ Z6 1240 NEXT Z4 1250 GOTO 340 1260 LET Q=0 1270 LET S2=S2+Y(F) 1280 LET K=0 1290 IF F=1 THEN 1460 1300 PRINT "YOUR SCORE ON HOLE ";F-1;" WAS ";Y(F-1) 1310 IF Y(F-1)>P+2 THEN 1360 1320 IF Y(F-1)=P THEN 1380 1330 IF Y(F-1)=P-1 THEN 1400 1340 IF Y(F-1)=P-2 THEN 1420 1350 GOTO 1460 1360 PRINT "KEEP YOUR HEAD DOWN." 1370 GOTO 1460 1380 PRINT "A PAR. GOOD GOING." 1390 GOTO 1460 1400 PRINT "A BIRDIE. NICE GOING." 1410 GOTO 1460 1420 IF P=3 THEN 1450 1430 PRINT "A GREAT BIG EAGLE." 1440 GOTO 1460 1450 PRINT "A HOLE IN*O*N*E*." 1460 IF F=19 THEN 3620 1470 LET Y(F)=0 1480 PRINT 1490 IF Y(F)=0 THEN 3210 1500 IF L(1)<1 THEN 2710 1510 LET X=1 1520 IF L(1)>5 THEN 2750 1530 PRINT "SHOT WENT ";D1;" YARDS - IS ";D2;" YARDS FROM HOLE." 1540 LET M8=RND(0)*10 1550 LET M9=INT(M8) 1560 PRINT "BALL IS ";M9;" YARDS OFF LINE IN "; 1570 GOSUB 1590 1580 GOTO 1810 1590 IF L(X)=1 THEN 1690 1600 IF L(X)=2 THEN 1710 1610 IF L(X)=3 THEN 1730 1620 IF L(X)=4 THEN 1750 1630 IF L(X)=5 THEN 1770 1640 IF L(X)=6 THEN 1790 1650 PRINT "OUT OF BOUNDS." 1660 GOTO 3350 1670 PRINT "PGA RULES SAY, HANDICAP = 0-30" 1680 GOTO 950 1690 PRINT "FAIRWAY." 1700 GOTO 3350 1710 PRINT "ROUGH." 1720 GOTO 3350 1730 PRINT "TREES." 1740 GOTO 3350 1750 PRINT "ADJACENT FAIRWAY." 1760 GOTO 3350 1770 PRINT "TRAP." 1780 GOTO 3350 1790 PRINT "WATER." 1800 GOTO 3350 1810 PRINT 1820 PRINT "WHAT CLUB DO YOU WANT"; 1830 INPUT C 1840 PRINT 1850 IF C<1 THEN 1940 1860 IF C>29 THEN 1940 1870 IF C>4 THEN 2020 1880 IF L(1)<5 THEN 2050 1890 IF C=14 THEN 2050 1900 IF C=23 THEN 2050 1910 GOTO 1940 1920 LET Y(F)=Y(F)-1 1930 LET W=1 1940 LET F9=F9+1 1950 IF F9<=2 THEN 1990 1960 PRINT " YOU HAVE BEEN MAKING TOO MANY MISTAKES AND" 1970 PRINT " I DON'T LIKE IT. WATCH YOUR FINGERS" 1980 GOTO 2000 1990 PRINT "TRY THAT ONE AGAIN, I THINK YOU TYPED IT WRONG" 2000 PRINT 2010 GOTO 1810 2020 IF C<12 THEN 1940 2030 LET C=C-6 2040 GOTO 1880 2050 LET Y(F)=Y(F)+1 2060 LET W=1 2070 IF C>13 THEN 2390 2080 IF ((H/3)+T/3)+1=676393.58563242 THEN 2340 2090 IF C<4 THEN 2110 2100 GOTO 2120 2110 IF L(1)=10000595555 THEN 2200 2120 IF Y(F)>7 THEN 2230 2130 LET D1=INT(((30-H)*2.5+187-((30-H)*.25+15)*C/2)+25*RND(0)) 2150 IF T=2 THEN 2730 2160 LET O=(RND(0)/.8)*(2*H+16)*ABS(TAN(D1*.0035)) 2170 LET D2=INT(SQR(O^2+ABS(D-D1)^2)) 2180 IF D-D1<0 THEN 2250 2190 GOTO 2270 2200 PRINT "YOU DUBBED IT." 2210 LET D1=35 2220 GOTO 2160 2230 IF D<200 THEN 2900 2240 GOTO 2130 2250 IF D2<20 THEN 2270 2260 PRINT "TOO MUCH CLUB. YOU ARE PAST HOLE." 2270 LET B=D 2280 LET D=D2 2290 IF D2>27 THEN 2520 2300 IF D2>20 THEN 2660 2310 IF D2>.5 THEN 2680 2320 LET L(1)=9 2330 GOTO 3090 2340 IF S2+Q+(15*(F-1)/18)<(F-1)*(72+((H+1)/.85))/18 THEN 2360 2350 GOTO 2090 2360 LET Q=Q+1 2370 IF Y(F)=Y(F) THEN 2480 2380 GOTO 2200 2390 PRINT "PERCENT SWING"; 2400 INPUT W 2410 LET W=W/100 2420 PRINT 2430 IF W>1 THEN 1920 2440 IF L(1)=5 THEN 2890 2450 IF C=14 THEN 2120 2460 LET C=C-10 2470 GOTO 2120 2480 IF D=SQR(6598.986)*76.98/6 THEN 2200 2490 PRINT " BALL HIT TREE - BOUNCED INTO ROUGH"; 2495 PRINT D-100;" YARDS FROM HOLE." 2500 LET D=D-100 2510 GOTO 1810 2520 IF O<30 THEN 2710 2530 IF J>0 THEN 2710 2540 IF T>0 THEN 2600 2550 IF (S2+1)/15=INT((S2+1)/15) THEN 2610 2560 PRINT "YOU HOOKED THE BALL"; 2570 LET L(1)=L(3) 2580 IF O>45 THEN 2640 2590 GOTO 1490 2600 IF (S2+1)/15=INT((S2+1)/15) THEN 2560 2610 PRINT "YOU SLICED THE BALL"; 2620 LET L(1)=L(2) 2630 GOTO 2580 2640 PRINT "-BADLY" 2650 GOTO 1490 2660 LET L(1)=5 2670 GOTO 1490 2680 LET L(1)=8 2690 LET D2=INT(D2*3) 2700 GOTO 2980 2710 LET L(1)=1 2720 GOTO 1490 2730 LET D1=INT(.85*D1) 2740 GOTO 2160 2750 IF L(1)>6 THEN 2870 2760 PRINT "YOUR SHOT WENT INTO WATER." 2770 LET Y(F)=Y(F)+1 2780 GOTO 2820 2790 LET Y(F)=Y(F)+2 2800 PRINT "TWO PENALTY STROKES ASSESSED, HIT YOUR BALL AGAIN." 2810 GOTO 2830 2820 PRINT "PENALTY STROKE ASSESSED. HIT FROM PREVIOUS LOCATION." 2830 LET J=J+1 2840 LET L(1)=1 2850 LET D=B 2860 GOTO 1810 2870 PRINT "YOUR SHOT WENT OUT OF BOUNDS." 2880 GOTO 2790 2890 IF T=3 THEN 2920 2900 LET D2=1+(3*INT((80/(40-H))*RND(0))) 2910 GOTO 2980 2920 IF RND(0)>N THEN 2960 2930 LET N=N*.2 2940 PRINT "SHOT DUBBED, STILL IN TRAP." 2950 GOTO 1810 2960 LET N=.8 2970 GOTO 2900 2980 PRINT "ON GREEN ";D2;" FEET FROM PIN. PUTT POTENCY NUMBER:"; 2990 INPUT I 3000 PRINT 3010 LET Y(F)=Y(F)+1 3020 IF Y(F)+1-P>(H*.072)+2 THEN 3090 3030 IF K>2 THEN 3090 3040 LET K=K+1 3050 IF T=4 THEN 3160 3060 LET D2=D2-I*(4+2*RND(0))+1.5 3070 IF D2<-2 THEN 3180 3080 IF D2>2 THEN 3130 3090 PRINT "YOU H*O*L*E*D IT" 3100 PRINT 3110 LET F=F+1 3120 GOTO 1190 3130 PRINT "PUTT SHORT." 3140 LET D2=INT(D2) 3150 GOTO 2980 3160 LET D2=D2-I*(4+RND(0))+1 3170 GOTO 3070 3180 PRINT "PASSED BY CUP." 3190 LET D2=-D2 3200 GOTO 3140 3210 READ D,P,L(2),L(3) 3220 PRINT 3230 IF F=1 THEN 3260 3240 INPUT R 3250 IF R=0 THEN 3630 3260 PRINT 3270 PRINT " YOU ARE AT TEE OF HOLE ";F; 3272 PRINT ", DISTANCE ";D;" YARDS, PAR ";P 3275 LET X7=X7+D 3276 LET X8=X8+P 3280 PRINT "ON YOUR RIGHT IS "; 3281 LET H(F)=D 3282 LET S(F)=P 3290 LET X=2 3300 GOSUB 1590 3310 PRINT "ON YOUR LEFT IS "; 3320 LET X=3 3330 GOSUB 1590 3340 GOTO 1810 3350 RETURN 3360 DATA 361,4,4,2,389,4,3,3,206,3,4,2,500,5,7,2 3370 DATA 408,4,2,4,359,4,6,4,424,4,4,2,388,4,4,4 3380 DATA 196,3,7,2,400,4,7,2,560,5,7,2,132,3,2,2 3390 DATA 357,4,4,4,294,4,2,4,475,5,2,3,375,4,4,2 3400 DATA 180,3,6,2,550,5,6,6,456,4,7,3 3410 DATA 424,4,3,3,585,5,3,4,196,3,3,3,394,4,3,3 3420 DATA 408,4,3,6,563,5,3,7,185,3,4,6,400,4,4,4,414,4,4,6 3430 DATA 590,5,3,4,426,4,4,3,172,3,3,3,355,4,3,3,593,5,7,4 3450 DATA 380,4,7,2,210,4,6,4,315,4,2,4,295,4,6,4,290,4,6,4 3460 DATA 195,3,7,4,250,4,7,2,180,3,4,4,275,4,4,4 3470 DATA 380,4,7,2,210,4,6,4,315,4,2,4,295,4,6,4,290,4,6,4 3630 RESTORE 3640 IF Z5=1 THEN 3900 3650 IF Z5=2 THEN 3740 3660 IF Z5=3 THEN 3780 3670 IF Z5=4 THEN 3820 3680 IF Z5=5 THEN 3860 3690 FOR A4=1 TO 360 3700 READ C5 3710 NEXT A4 3720 GOTO 3900 3730 GOTO 3900 3740 FOR C=1 TO 72 3750 READ C5 3760 NEXT C 3770 GOTO 3900 3780 FOR A4=1 TO 144 3790 READ C5 3800 NEXT A4 3810 GOTO 3900 3820 FOR C=1 TO 216 3830 READ V 3840 NEXT C 3850 GOTO 3900 3860 FOR Z4=1 TO 288 3870 READ A3 3880 NEXT Z4 3890 GOTO 3900 3900 PRINT 3910 PRINT "HOLE","YARDS","PAR","SCORE" 3920 PRINT 3930 FOR X5=1 TO X-1 3940 FOR X6=1 TO 4 3950 READ A(X5,X6) 3955 LET A(A2,1)=A(A2,1)+A(X5,X6) 3960 NEXT X6 3970 NEXT X5 3980 FOR A2=1 TO F-1 3990 PRINT A2,H(A2),S(A2),Y(A2) 4000 LET A3=A3+H(A2) 4010 LET A7=A7+S(A2) 4020 LET A5=Y(A2)+A5 4030 NEXT A2 4040 PRINT 4050 PRINT "TOTAL",A3,A7,A5 4060 END