Play 18 holes at the Cherry Hills Country Club.
Source Code
1 RANDOMIZE 0 2 BORDER 2: PAPER 1: INK 9: CLS 5 DIM n$(1,13) 10 PRINT "********************************" 40 PRINT "**** Welcome to Cherry Hills ***";"******* Country Club ********" 50 LET z9=0.7: LET z8=6*z9: LET z1=0 60 PRINT "** Site of the 1986 U.S. Open **";"********* Championship *********" 65 PRINT "********************************" 70 PRINT 80 LET z=18 90 PRINT 100 PRINT "Do you want to play all 18 holes? (Y/N)" 110 INPUT a$ 120 IF a$="y" THEN GO TO 215 130 PRINT 140 PRINT "How many holes do you want to to play? <19" 150 INPUT z 160 LET z=INT z 170 IF z>8 THEN GO TO 310 180 PRINT 190 PRINT "You must be a tenderfoot!......" 200 PRINT 210 LET z1=z+1 215 PRINT 220 PRINT INVERSE 1;"The commentator will explain the";"course as you play.","Enjoy your game, see you on the","19th tee." 230 PAUSE 200: CLS 240 PRINT ''''"What is your handicap?"," (For "; INVERSE 1;z; INVERSE 0;" holes)" 250 INPUT h 260 IF h<24 THEN GO TO 290 270 PRINT 280 PRINT "You must be kidding, no one is","that bad!" 290 PRINT 300 PRINT 310 PRINT "Difficulties at GOLF include:" 320 PRINT 'TAB 8;"0=HOOK",TAB 8;"1=SLICE",TAB 8;"2=POOR DISTANCE",TAB 8;"4=TRAP SHOTS",TAB 8;"5=PUTTING" 330 INPUT "Which one is your worst (1 only)";d 340 IF d<0 THEN GO TO 330 350 IF d=3 THEN GO TO 330 360 IF d>5 THEN GO TO 330 370 LET h1=1 380 LET s=0: LET s2=0: LET s3=0: LET s8=0: LET s9=0: LET p9=0 390 LET d1=409: LET p=4 400 CLS 410 PRINT '"These are the clubs you have in","your bag." 420 PRINT '"YARDAGE DESIRED CLUB NEEDED" 425 PRINT "________________________________" 430 PRINT '"200 to 400 yards 1 to 4" 440 PRINT '"100 to 200 yards 13 to 19" 450 PRINT '"0 to 100 yards 20" 460 PRINT : PRINT INVERSE 1;"When you are ready press ENTER" 470 PAUSE 0 500 PAUSE 200: CLS 510 PRINT '"You are at the tee of hole "; INVERSE 1;h1; INVERSE 0;,"Distance "; INVERSE 1;d1; INVERSE 0;" yards","PAR "; INVERSE 1;p 520 IF h1>1 THEN GO TO 550 530 LET a$="ADJACENT FAIRWAY" 540 LET b$="ROUGH" 550 PRINT "On the right is "; FLASH 1;a$ 560 PRINT "On the left is "; FLASH 1;b$ 570 PRINT 571 IF d1>100 THEN GO TO 590 572 PRINT "You are within wedge range" 573 GO TO 720 590 INPUT "What club do you choose? ";c: CLS 600 IF c<1 THEN GO TO 590 610 IF d1<100 THEN GO TO 670 620 IF c>19 THEN GO TO 690 630 IF c>4 THEN GO TO 650 640 GO TO 820 650 IF c<13 THEN GO TO 690 660 GO TO 890 670 IF c=20 THEN GO TO 720 680 PRINT 690 PRINT FLASH 1;"IMPROPER SELECTION! CHOOSE AGAIN" 700 PRINT 710 PAUSE 60: GO TO 590 720 LET c1=100 730 PRINT "You may gauge your distance by","percent of your full swing","---from .01 to 1.00" 750 INPUT c7: CLS 760 IF c7<.01 THEN GO TO 750 770 IF c7>1.00 THEN GO TO 750 780 LET c1=c1*c7 790 RANDOMIZE 0: LET c7=c1*(RND*0+.5) 800 LET c7=(c7+10)*.8 810 GO TO 930 820 GO SUB 4150 830 IF d<>2 THEN GO TO 930 840 LET c7=c7-50 850 IF c7<125 THEN GO TO 870 860 GO TO 930 870 LET c7=125 880 GO TO 930 890 GO SUB 3770 900 IF d<>2 THEN GO TO 930 910 LET c7=c7-20 920 GO TO 930 930 LET s=s+1 940 RANDOMIZE 0: LET r1=RND 950 IF d=0 THEN GO TO 1110 960 IF d=1 THEN GO TO 1130 970 IF r1>.015 THEN GO TO 1150 980 LET r2=INT (100*r1) 990 IF r2=0 THEN GO TO 1040 1000 IF r2=1 THEN GO TO 1060 1010 LET d3=d1-INT c7 1020 PRINT FLASH 1;'"You sliced your **** shot,","went out of bounds." 1030 GO TO 1080 1040 PRINT FLASH 1;'"You sliced your **** shot,","went into water......." 1050 GO TO 1080 1060 PRINT FLASH 1;'"You hooked your **** shot,","went???????" 1070 GO TO 1080 1080 PRINT INVERSE 1; BRIGHT 1;'"Penalty stroke assessed.","Hit from previous location." 1090 LET s=s+1 1100 PAUSE 100: PRINT ''"You are "; INVERSE 1;d1; INVERSE 0;" from the pin.": GO TO 570 1110 IF r1>.1 THEN GO TO 1150 1120 GO TO 1060 1130 IF r1>.1 THEN GO TO 1150 1140 GO TO 1020 1150 LET c7=INT c7 1160 LET d3=d1-INT c7 1170 IF d3<0 THEN GO TO 1220 1180 LET d1=d3 1190 IF d1<z9 THEN GO TO 2950 1200 PRINT ''''"Shot went "; INVERSE 1;c7; INVERSE 0;" yards.","It's "; INVERSE 1;d1; INVERSE 0;" yards from the pin." 1210 GO TO 1260 1220 LET d1=(-1*d3) 1230 IF d1<z9 THEN GO TO 2950 1240 PRINT '''"To much club........","You're past the pin.": PAUSE 100 1250 PRINT ''"Shot went "; INVERSE 1;c7; INVERSE 0;" yards.","It's "; INVERSE 1;d1; INVERSE 0;" yards from the pin." 1260 IF d1<20 THEN GO TO 2950 1270 RANDOMIZE d1: LET r3=INT (RND*30) 1280 PRINT '"Your ball is "; INVERSE 1;r3; INVERSE 0;" yards","off line....in fairway" 1290 PAUSE 100: GO TO 570 1300 LET d2=3*d1 1310 IF d2=0 THEN GO TO 1820 1320 PAUSE 100: CLS : PRINT 1330 PRINT 1340 PRINT "You are on the GREEN "; INVERSE 1;d2; INVERSE 0;" feet","from the pin." 1350 PRINT '"Everyone please talk softly,","now!" 1360 INPUT "Choose your putt distance by","potency number from 1 to 13"'''''''',,,,;p1 1380 IF p1>13 THEN GO TO 1360 1390 IF p1<1 THEN GO TO 1360 1400 RANDOMIZE 0: LET r9=RND 1410 IF r9<.5 THEN GO TO 1400 1420 LET p7=(3*p1)*(r9+.1) 1430 LET p7=INT p7 1440 LET p7=p7+1 1460 LET p8=1.7*p7 1470 LET p8=INT p8 1480 LET g=d2-p8 1490 IF g>-45 THEN GO TO 1630 1500 IF r1>.5 THEN GO TO 1530 1510 PRINT '"You overshot the cup and landed","in the fairway...." 1520 GO TO 1580 1530 PRINT "You oversot the GREEN, and","landed in a "; FLASH 1;"SAND TRAP!!!" 1540 IF d<>4 THEN GO TO 1580 1550 PRINT "You lost two strokes getting","back to the GREEN..." 1560 LET s=s+2 1570 GO TO 1600 1580 PRINT '"You lost one stroke getting","back to the GREEN..." 1590 LET s=s+1 1600 RANDOMIZE 0: LET d2=p1*(RND+.5) 1610 LET d2=INT d2 1620 PAUSE 100: GO TO 1330 1630 IF g<0 THEN GO TO 1700 1635 LET s=s+1 1640 LET d2=g 1650 IF g<z9 THEN GO TO 1770 1660 PRINT ' INVERSE 1;"YOUR PUTT IS SHORT." 1670 PRINT 1690 PAUSE 100: CLS : GO TO 1340 1700 LET s=s+1 1710 LET d2=(-1)*g 1720 LET g=ABS g 1730 IF g<z8 THEN GO TO 1770 1740 PRINT INVERSE 1;"PASSED THE CUP." 1750 PRINT 1760 PAUSE 100: CLS : GO TO 1340 1770 IF d<>5 THEN GO TO 1820 1780 RANDOMIZE 0: LET r2=RND 1790 IF r2>.333 THEN GO TO 1820 1800 LET d2=1 1810 GO TO 1740 1820 LET s2=s2+s 1830 IF s=1 THEN GO TO 1840 1840 PRINT FLASH 1; BRIGHT 1;"YOU H*O*L*E*D IT" 1850 PRINT 1860 PRINT "Your score on hole "; INVERSE 1;h1; INVERSE 0;" was "; INVERSE 1;s 1870 LET p9=p9+p 1880 PRINT '"Total par for "; INVERSE 1;h1; INVERSE 0;" holes is "; INVERSE 1;p9; INVERSE 0;," your total is "; INVERSE 1;s2 1890 LET a=p-s 1910 IF a=-1 THEN GO TO 1960 1920 IF a=0 THEN GO TO 1990 1930 IF a=1 THEN GO TO 2010 1940 IF a=2 THEN GO TO 2030 1950 GO TO 2050 1960 PRINT ' FLASH 1; BRIGHT 1;"A BOGEY....." 1980 GO TO 2050 1990 PRINT ' FLASH 1; BRIGHT 1;"A PAR" 2000 GO TO 2050 2010 PRINT ' FLASH 1; BRIGHT 1;"Very good a BIRDIE" 2020 GO TO 2050 2030 PRINT ' FLASH 1; BRIGHT 1;"*** AN EAGLE !!*.." 2040 GO TO 2050 2050 LET h1=h1+1 2060 LET s=0 2070 IF h1=z1 THEN GO TO 3220 2080 IF h1=2 THEN GO TO 2300 2090 IF h1=3 THEN GO TO 2350 2100 IF h1=4 THEN GO TO 2400 2110 IF h1=5 THEN GO TO 2450 2120 IF h1=6 THEN GO TO 2500 2130 IF h1=7 THEN GO TO 2550 2140 IF h1=8 THEN GO TO 2600 2150 IF h1=9 THEN GO TO 2650 2160 IF h1=10 THEN GO TO 2700 2170 IF h1=11 THEN GO TO 2750 2180 IF h1=12 THEN GO TO 2800 2190 IF h1=13 THEN GO TO 2850 2200 IF h1=14 THEN GO TO 3020 2210 IF h1=15 THEN GO TO 3070 2220 IF h1=16 THEN GO TO 3120 2230 IF h1=17 THEN GO TO 3170 2240 IF h1=19 THEN GO TO 3220 2250 LET d1=470 2260 LET p=4 2270 LET a$="TREES" 2280 LET b$=a$ 2290 PAUSE 100: GO TO 500 2300 LET d1=433 2310 LET p=4 2320 LET a$="ADJACENT FAIRWAY" 2330 LET b$="ROUGH" 2340 PAUSE 100: GO TO 500 2350 LET d1=323 2360 LET p=4 2370 LET a$="OUT OF BOUNDS." 2380 LET b$="ROUGH" 2390 PAUSE 100: GO TO 500 2400 LET d1=410 2410 LET p=4 2420 LET a$="ROUGH" 2430 LET b$="ADJACENT FAIRWAY" 2440 PAUSE 100: GO TO 500 2450 LET d1=555 2460 LET p=5 2470 LET a$="WATER" 2480 LET b$="ADJACENT FAIRWAY" 2490 PAUSE 100: GO TO 500 2500 LET d1=130 2510 LET p=3 2520 LET a$=b$ 2530 LET b$="ROUGH" 2540 PAUSE 100: GO TO 500 2550 LET d1=384 2560 LET p=4 2570 LET a$=a$ 2580 LET b$=a$ 2590 PAUSE 100: GO TO 500 2600 LET d1=229 2610 LET p=3 2620 LET a$="OUT OF BOUNDS." 2630 LET b$="ROUGH" 2640 PAUSE 100: GO TO 500 2650 LET d1=443 2660 LET p=4 2670 LET a$=a$ 2680 LET b$=b$ 2690 PAUSE 100: GO TO 500 2700 LET d1=425 2710 LET p=4 2720 LET a$=a$ 2730 LET b$=b$ 2740 PAUSE 100: GO TO 500 2750 LET d1=594 2760 LET p=5 2770 LET a$=b$ 2780 LET b$=b$ 2790 PAUSE 100: GO TO 500 2800 LET d1=203 2810 LET p=3 2820 LET a$="ADJACENT FAIRWAY" 2830 LET b$=a$ 2840 PAUSE 100: GO TO 500 2850 LET d1=402 2860 LET p=4 2870 LET a$="ROUGH" 2880 LET b$=b$ 2890 PAUSE 100: GO TO 500 2900 IF s>1 THEN GO TO 1300 2910 CLS : PRINT 2920 PRINT 2930 PRINT "********************************" 2940 GO TO 2960 2950 GO TO 2900 2960 PRINT FLASH 1;"**A*HOLE*IN*ONE**A*HOLE*IN*ONE**" 2970 PRINT "********************************" 2980 PRINT 2990 PRINT 3000 PRINT 3005 FOR i=1 TO 10: BEEP .05,15: BEEP .05,11: BEEP .05,7: NEXT i 3010 GO TO 1820 3020 LET d1=464 3030 LET p=4 3040 LET a$=a$ 3050 LET b$="TREES" 3060 PAUSE 100: GO TO 500 3070 LET d1=210 3080 LET p=3 3090 LET a$="ADJACENT FAIRWAY" 3100 LET b$=a$ 3110 PAUSE 100: GO TO 500 3120 LET d1=419 3130 LET p=4 3140 LET a$="WATER" 3150 LET b$="ROUGH" 3160 PAUSE 100: GO TO 500 3170 LET d1=550 3180 LET p=5 3190 LET a$=a$ 3200 LET b$=a$ 3210 PAUSE 100: GO TO 500 3220 LET s3=s2-h 3230 PAUSE 200: CLS : PRINT 3240 PRINT 3250 PRINT "Total par for these "; INVERSE 1;z; INVERSE 0;" Holes","is "; INVERSE 1;p9; INVERSE 0;", your total was "; INVERSE 1;s2 3260 PRINT '"Minus your handicap your","score is "; INVERSE 1;s3 3270 PRINT 3280 IF s3>(p9+1) THEN GO TO 3540 3290 IF s3=(p9+1) THEN GO TO 3380 3300 IF s3=p9 THEN GO TO 3420 3310 IF s3=(p9-1) THEN GO TO 3460 3320 IF s3=(p9-2) THEN GO TO 3500 3330 PRINT 3340 PRINT 3350 PRINT FLASH 1;"I DON'T BELIEVE IT!!!!!" 3360 PRINT 3370 GO TO 3540 3380 PRINT 3390 PRINT FLASH 1; INVERSE 1; BRIGHT 1;"YOU GOT A "; INVERSE 0;"BOGEY"; INVERSE 1;" FOR THE COURSE." 3400 PRINT 3410 GO TO 3540 3420 PRINT 3430 PRINT FLASH 1; INVERSE 1; BRIGHT 1;"YOU MADE PAR FOR THE COURSE." 3440 PRINT 3450 GO TO 3540 3460 PRINT 3470 PRINT FLASH 1; INVERSE 1; BRIGHT 1;"YOU GOT A"; INVERSE 0;" BIRDIE "; INVERSE 1;"FOR THE COURSE" 3480 PRINT 3490 GO TO 3540 3500 PRINT 3510 PRINT BRIGHT 1; FLASH 1; INVERSE 1;"**YOU EAGLED"; INVERSE 0; FLASH 1;" THE COURSE.**" 3520 PRINT 3530 GO TO 3540 3540 PRINT 3550 IF z<>18 THEN GO TO 3650 3640 CLS 3650 PRINT '''''''"Do you feel up to another",; INVERSE 1;z; INVERSE 0;" holes?" 3660 INPUT c$ 3670 IF c$="y" THEN GO TO 370 3680 STOP 3770 LET c6=(1/c) 3780 LET c6=c6*2000 3790 RANDOMIZE 0: LET c7=c6*RND+60 3800 IF c=13 THEN GO TO 3870 3810 IF c=14 THEN GO TO 3900 3820 IF c=15 THEN GO TO 3940 3830 IF c=16 THEN GO TO 3980 3840 IF c=17 THEN GO TO 4020 3850 IF c=18 THEN GO TO 4060 3860 IF c=19 THEN GO TO 4100 3870 IF c7<150 THEN GO TO 3770 3880 IF c7<211 THEN GO TO 4140 3890 GO TO 3770 3900 IF c7>140 THEN GO TO 3920 3910 GO TO 3770 3920 IF c7<201 THEN GO TO 4140 3930 GO TO 3770 3940 IF c7>129 THEN GO TO 3960 3950 GO TO 3770 3960 IF c7<187 THEN GO TO 4140 3970 GO TO 3770 3980 IF c7>119 THEN GO TO 4000 3990 GO TO 3770 4000 IF c7<173 THEN GO TO 4140 4010 GO TO 3770 4020 IF c7>109 THEN GO TO 4040 4030 GO TO 3770 4040 IF c7<159 THEN GO TO 4140 4050 GO TO 3770 4060 IF c7>99 THEN GO TO 4080 4070 GO TO 3770 4080 IF c7<145 THEN GO TO 4140 4090 GO TO 3770 4100 IF c7>89 THEN GO TO 4120 4110 GO TO 3770 4120 IF c7<131 THEN GO TO 4140 4130 GO TO 3770 4140 RETURN 4150 LET c8=c+4 4160 LET c7=(1/c8)*1000 4170 RANDOMIZE 0: LET c7=c7*RND 4180 LET c7=c7+150 4190 IF c=1 THEN GO TO 4250 4200 IF c=2 THEN GO TO 4280 4210 IF c=3 THEN GO TO 4310 4220 IF c7<140 THEN GO TO 4150 4230 IF c7<221 THEN GO TO 4340 4240 GO TO 4150 4250 IF c7<190 THEN GO TO 4150 4260 IF c7<360 THEN GO TO 4340 4270 GO TO 4150 4280 IF c7<170 THEN GO TO 4150 4290 IF c7<251 THEN GO TO 4340 4300 GO TO 4150 4310 IF c7<150 THEN GO TO 4150 4320 IF c7<231 THEN GO TO 4340 4330 GO TO 4150 4340 RETURN