Play 18 holes at the Cherry Hills Country Club.
Content
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