Compucolor.org – Virtual Media

Listing of file='GOLF.BAS;01' on disk='vmedia/chip_24-sector.ccvf'

0 REM  GOLF BY DON MILLER
100 PLOT 6,2,12,27,24,15:GOTO 5570
110 CLEAR 500:GOTO 320
120 QN= 10:QO= 1:QW= 24:QX= 0:QY= 22:GOSUB 5520:RETURN
130 PLOT 6,2:GOSUB 5740:RETURN
140 GOSUB 5740:PRINT "":RETURN
150 GOSUB 5740:RETURN
155 FOR AB= 1TO 10:GOSUB 140:NEXT AB:RETURN
157 FOR AB= 0TO AP:NEXT AB:RETURN
160 REM  DISTANCE,PAR,RIGHT&LEFT
165 REM  PEBBLE BEACH
170 DATA 361,4,4,2,389,4,3,3,206,3,4,2,500,5,7,2,408,4,2,4,359,4,6,4,424,4,4,2,388,4,4,4
180 DATA 196,3,7,2,400,4,7,2,500,5,7,2,132,3,2,2,357,4,4,4,294,4,2,4,475,5,2,3,375,4,4,2
190 DATA 180,3,6,2,550,5,6,6
195 REM  THINKING MAN
200 DATA 365,4,2,3,538,5,3,3,450,4,3,3,220,3,2,3,388,4,4,4,459,4,4,3,625,5,2,4,183,3,2,4
210 DATA 360,4,2,2,378,4,2,4,190,3,3,3,458,4,3,4,460,4,3,3,405,4,3,4,448,4,2,4,595,5,7,6
220 DATA 155,3,2,3,530,5,3,6
225 REM  BROOKLEA
230 DATA 350,4,3,7,525,5,3,7,190,3,3,3,430,4,3,2,430,4,3,3,400,4,7,3,540,5,7,3,320,4,7,3
240 DATA 150,3,3,2,480,5,6,3,550,5,7,6,150,3,6,6,450,4,3,3,400,4,3,3,430,4,3,3,450,4,3,3
250 DATA 420,4,3,3,180,3,3,3
255 REM  RETREAT/SEASIDE
260 DATA 475,5,3,3,188,3,6,3,394,4,3,3,432,4,3,6,515,5,7,3,365,4,3,3,130,3,3,3,338,4,3,6
270 DATA 430,4,3,6,392,4,3,7,422,4,6,7,205,3,3,6,372,4,3,6,325,4,3,6,471,5,3,3,425,4,6,6
280 DATA 164,3,3,3,468,5,6,3
285 REM  MARSHSIDE/PLANTATION
290 DATA 305,4,3,3,475,5,3,6,192,3,6,6,350,4,6,6,141,3,3,6,370,4,6,6,521,5,3,6,281,4,3,6
300 DATA 410,4,3,3,351,4,3,3,335,4,3,3,204,3,7,3,529,5,7,3,376,4,7,4,356,4,6,4,140,3,6,3
310 DATA 405,4,3,3,470,5,3,3
320 GOSUB 3310:REM  TO HOUSEKEEPING
330 DIM L(11)
340 Z= 1
350 PLOT 6,6
355 PLOT 3,0,18,11
360 GOSUB 150:PRINT "     WELCOME TO THE"
370 GOSUB 150:PRINT "       COMPUCOLOR"
380 GOSUB 150:PRINT "          OPEN"
390 GOSUB 140:AP= 500:GOSUB 157
400 GOSUB 155
401 GOSUB 150:PRINT "     COPYRIGHT 1979"
402 GOSUB 150:PRINT "           BY"
403 GOSUB 150:PRINT "    DONALD R. MILLER"
404 FOR AA= 1TO 4:GOSUB 140:NEXT AA:AP= 750:GOSUB 157:GOSUB 155
410 GOSUB 150:PRINT "SELECT GOLF COURSE:"
412 FOR AA= 1TO 5:GOSUB 130:PRINT M$(AA):NEXT AA
470 GOSUB 150:INPUT "? ";AI
475 IF AI< 1OR AI> 5THEN GOSUB 130:PRINT "NOT 1-5":GOTO 400
480 GOSUB 155
490 GOSUB 3840:REM  FILL IN SCORECARD ON CRT
500 REM  SPIN RANDOM NUMBER GENERATOR
510 GOSUB 150:PRINT "HIT R E T U R N TO PLAY"
520 POKE 33278,0
530 AC= RND (1)
540 IF PEEK (33278)= 0THEN 530
550 X= 2:N= .8:S2= 0:F= 1
560 AE= 1:AG= 0:AD= 0
570 GOSUB 155
580 GOSUB 150:INPUT "HANDICAP (0-30) ? ";H
590 IF H< 0OR H> 30THEN GOSUB 130:PRINT "HANDICAP NOT 0-30":GOTO 580
600 GOSUB 140
610 IF H> 9THEN 640
620 GOSUB 130:PRINT "OH-OH, A HOT SHOT !"
630 GOTO 670
640 IF H< 20THEN 670
650 GOSUB 140
660 GOSUB 130:PRINT "ANYONE FOR TENNIS ?"
670 GOSUB 155
680 GOSUB 150:PRINT "DIFFICULTIES AT GOLF:"
690 FOR AA= 6TO 10:GOSUB 130:PRINT M$(AA):NEXT AA:GOSUB 140
750 GOSUB 150:INPUT "WHICH IS YOUR WORST: ?";T
760 IF T< 1OR T> 5THEN GOSUB 130:PRINT " DIFFICULTY NOT 1-5 !":GOTO 670
770 GOSUB 155
771 PLOT 3,0,18
772 PRINT "COURSE: "MID$ (M$(AI),5,20);
773 PRINT " HANDICAP:"H" PROBLEM: "MID$ (M$(T+ 5),5,13)""
780 S1= 0
790 L(1)= 0
800 REM  AGAIN TO SPIN 'RANDOM' NUMBER GENERATOR
810 R= PEEK (33209):FOR AA= 0TO R:RR= RND (1):NEXT AA
820 R= RND (1)
830 X1= 59:Y1= 12
840 GOSUB 5130:REM  POSITION BALL
850 L(1)= 0:J= 0:Q= 0
860 S2= S2+ S1:K= 0
870 IF F= 1THEN 970
880 GOSUB 5430:REM  DOG
885 GOSUB 140:GOSUB 150
890 IF S1> P+ 3THEN PRINT N1$:GOTO 960
895 IF S1= P+ 3THEN PRINT N2$:GOTO 960
900 IF S1= P+ 2THEN PRINT N3$:GOTO 960
905 IF S1= P+ 1THEN PRINT N4$:GOTO 960
910 IF S1= PTHEN PRINT N5$:GOTO 960
915 IF S1= P- 1THEN PRINT N6$:GOTO 960
920 IF S1= P- 2THEN 940
930 GOTO 960
940 IF P= 3THEN PRINT N8$:FOR AA= 1TO 13:GOSUB 150:PRINT N8$:NEXT AA:GOTO 960
950 PRINT N7$
960 AP= 500:GOSUB 157:GOSUB 155
961 IF P> S1THEN GOSUB 5430:REM  DOG
965 IF F= 19THEN GOSUB 3690:GOTO 3060
970 AH= S1:S1= 0
980 IF S1= 0THEN 2880
990 IF L(1)< 1THEN 2260
1000 X= 1
1010 IF L(1)> 5THEN 2450
1020 GOSUB 130:PRINT D1" YARDS &"D2" TO HOLE"
1030 GOSUB 140
1040 GOSUB 130:PRINT INT (O)" YARDS OFF LINE IN"
1050 GOSUB 1070
1060 GOTO 1410
1070 IF L(X)= 1THEN GOSUB 130:PRINT "FAIRWAY.":RETURN
1080 IF L(X)= 2THEN GOSUB 130:PRINT "ROUGH.":RETURN
1090 IF L(X)= 3THEN GOSUB 130:PRINT "TREES.":RETURN
1100 IF L(X)= 4THEN GOSUB 130:PRINT "ADJACENT FAIRWAY.":RETURN
1110 IF L(X)= 5THEN GOSUB 130:PRINT "TRAP.":RETURN
1120 IF L(X)= 6THEN GOSUB 130:PRINT "WATER.":RETURN
1130 GOSUB 130:PRINT "AND OUT OF BOUNDS.":RETURN
1140 GOSUB 130:PRINT C" CLUB NOT IN BAG !":GOTO 1410
1150 REM
1160 REM  BUILD SCOREBOARD DISTANCE AND PAR AT TOP OF SCREEN
1170 BE= 0
1180 FOR AA= 1TO 18
1190 READ BA,BB,BC,BD
1200 BE= BE+ BB
1210 PLOT 3,AA* 3- 2,2
1220 IF AA> 9THEN PLOT 3,AA* 3- 2+ 5,2
1230 PLOT 6,1
1240 IF AA/ 2= INT (AA/ 2)THEN PLOT 6,6
1250 PRINT RIGHT$ ((STR$ (BA)),3)
1260 PLOT 6,3,3,AA* 3- 1,3
1270 IF AA> 9THEN PLOT 3,AA* 3- 1+ 5,3
1280 PRINT RIGHT$ ((STR$ (BB)),1)
1290 IF AA= 9THEN 1330
1300 IF AA= 18THEN 1370
1310 NEXT AA
1320 RETURN
1330 PLOT 6,3,3,29,3
1340 PRINT RIGHT$ ((STR$ (BE)),2)
1350 BE= 0
1360 GOTO 1310
1370 PLOT 6,3,3,61,3
1380 PRINT RIGHT$ ((STR$ (BE)),2)
1390 GOTO 1320
1400 REM
1410 REM  SELECT CLUB
1420 GOSUB 5130:REM  POSITION BALL
1430 GOSUB 140
1435 GOSUB 3681
1440 GOSUB 150:INPUT "CLUB(1-4,11-19,21-29)?";C
1460 GOSUB 140
1470 IF C= 20THEN 1140
1480 IF C< 1OR C> 29THEN 1140
1490 IF C> 4THEN 1550
1500 IF L(1)< 5THEN 1580
1510 IF C> 4THEN 1580
1530 GOTO 1140
1540 S1= S1- 1:W= 1:GOTO 1140
1550 IF C< 11THEN 1140
1560 C= C- 6
1570 GOTO 1500
1580 S1= S1+ 1
1590 W= 1
1600 IF C> 14THEN 1930
1610 IF F/ 3= INT (F/ 3)THEN 1880
1620 IF C< 4THEN 1640
1630 GOTO 1650
1640 IF L(1)= 2THEN 1730
1650 IF S1> 7THEN 1760
1660 D1= INT (((30- H)* 2.5+ 187- ((30- H)* .25+ 15)* C/ 2)+ 25* RND (1))
1670 D1= INT (D1* W)
1675 AP= D1:GOSUB 157
1680 IF T= 2THEN 2430
1690 O= (RND (1)/ .8)* (2* H+ 16)* ABS (TAN (D1* .0035))
1700 D2= INT (SQR (O^ 2+ ABS (D- D1)^ 2))
1710 IF D- D1< 0THEN 1780
1720 GOTO 1810
1730 GOSUB 130:PRINT "YOU DUBBED IT !"
1740 D1= 35
1750 GOTO 1690
1760 IF D< 200THEN 2580
1770 GOTO 1660
1780 IF D2< 20THEN 1810
1790 GOSUB 130:PRINT "TOO MUCH CLUB - TOO LONG"
1810 B= D
1820 D= D2
1830 IF D2> 27THEN 2070
1840 IF D2> 20THEN 2210
1850 IF D2> .5THEN 2230
1860 L(1)= 9
1870 GOTO 2280
1880 IF S2+ Q+ (10* (F- 1)/ 18)< (F- 1)* (72+ ((H+ 1)/ .85))/ 18THEN 1900
1890 GOTO 1620
1900 Q= Q+ 1
1910 IF S1/ 2< > INT (S1/ 2)THEN 2000
1920 GOTO 1730
1930 GOSUB 130:INPUT "% FULL SWING (1-99) ?";W
1932 IF W< 1OR W> 99THEN 1930
1934 GOSUB 140
1940 W= W/ 100
1950 IF W> 1THEN 1540
1960 IF L(1)= 5THEN 2570
1970 IF C= 14THEN 1650
1980 C= C- 10
1990 GOTO 1650
2000 IF D< 95THEN 1730
2010 GOSUB 130:PRINT "HIT TREE."D- 75" YDS TO PIN"
2040 D1= 75
2045 O= (RND (1)/ .8)* (2* H+ 16)* ABS (TAN (D1* .0035))
2050 L(1)= 1
2055 D2= INT (SQR (O^ 2+ ABS (D- D1)^ 2))
2060 GOTO 1410
2070 IF O< 30THEN 2260
2080 IF J> 0THEN 2260
2090 IF T> 0THEN 2150
2100 IF (S2+ 1)/ 15= INT ((S2+ 1)/ 15)THEN 2160
2110 GOSUB 130:PRINT "YOU HOOKED."
2115 U1= 2
2120 L(1)= L(3)
2130 IF O> 45THEN 2190
2140 GOTO 980
2150 IF (S2+ 1)/ 15= INT ((S2+ 1)/ 15)THEN 2110
2160 GOSUB 130:PRINT "YOU SLICED."
2165 U1= 1
2170 L((1))= 1
2180 GOTO 2130
2190 GOSUB 130:PRINT "...BADLY."
2200 GOTO 980
2210 L(1)= 5
2220 GOTO 980
2230 L(1)= 8
2240 D2= INT (D2* 3)
2250 GOTO 2670
2260 L(1)= 1
2270 GOTO 980
2280 REM
2290 L(1)= 9
2300 GOSUB 2370
2310 GOSUB 5130
2320 F= F+ 1
2330 GOTO 850
2340 GOSUB 130:PRINT "PUTT SHORT."
2350 D2= INT (D2)
2360 GOTO 2670
2370 PLOT 6,70
2390 PLOT 2,0,56,242,0,99,127,99,127,56,0,56,255
2410 PLOT 6,2
2420 RETURN
2430 D1= INT (.85* D1)
2440 GOTO 1690
2450 IF L(1)> 6THEN 2550
2460 GOSUB 130:PRINT "SHOT WENT INTO WATER."
2470 S1= S1+ 1
2480 GOSUB 140
2490 GOSUB 130:PRINT "PENALTY STROKE ASSESSED."
2500 GOSUB 130:PRINT "HIT FROM PREVIOUS SPOT."
2510 J= J+ 1
2520 L(1)= 1
2530 D= B
2540 GOTO 1410
2550 GOSUB 130:PRINT "SHOT WENT OUT OF BOUNDS."
2560 GOTO 2470
2570 IF T= 3THEN 2600
2580 D2= 1+ (3* INT ((80/ (40- H))* RND (1)))
2590 GOTO 2670
2600 IF RND (1)> LTHEN 2650
2610 N= N* .2
2620 GOSUB 130:PRINT "DUBBED IT.STILL IN TRAP."
2640 GOTO 1410
2650 N= .8
2660 GOTO 2580
2670 L(1)= 8:GOSUB 5130
2675 GOSUB 140
2680 GOSUB 130:PRINT "ON GREEN"D2" FEET TO PIN"
2700 GOSUB 140
2705 GOSUB 3681:REM  POST RUNNING SCORE
2706 GOSUB 140
2710 GOSUB 130:INPUT "PUTT POWER (1-20) ?";I
2715 IF I< 1OR I> 20THEN 2710
2716 GOSUB 140
2717 AP= I* 50:GOSUB 157
2720 S1= S1+ 1
2730 IF S1+ 1- P> (H* .072)+ 2THEN 2280
2740 IF K> 2THEN 2280
2750 K= K+ 1
2760 IF T= 4THEN 2820
2770 D2= D2- I* (4+ 2* RND (1))+ 1.5
2780 IF D2< - 2THEN 2840
2790 IF D2> 2THEN 2340
2800 L(1)= 9
2805 GOSUB 3681
2810 GOTO 2280
2820 D2= D2- I* (4+ RND (1))+ 1
2830 GOTO 2780
2840 GOSUB 130:PRINT "PASSED BY CUP."
2845 GOSUB 140
2850 D2= - D2
2860 GOTO 2350
2870 REM  READ IN DISTANCE, PAR, RIGHT, LEFT FEATURES
2880 READ D,P,L(2),L(3)
2890 GOSUB 3690:REM  TO POST SCORE FOR HOLE AT TOP
2910 IF F< > 1THEN 3055
2915 O1$= "          "
2920 PLOT 3,9,20:PRINT O1$
2930 PLOT 3,9,20:PRINT "HOLE "F""
2945 IF F= 9THEN AJ= AD+ P
2950 AD= AD+ P
2960 X= 2
2970 REM  TO FILL IN RIGHT SIDE OF FAIRWAY
2980 GOSUB 4950
2990 X= 3
3000 REM  TO FILL IN LEFT SIDE OF FAIRWAY AND RESTORE HOLE
3010 GOSUB 5100:GOSUB 4060
3020 PLOT 3,59,12
3030 PRINT "d"
3040 REM  TO SELECT CLUB
3050 GOTO 1410
3055 IF F= 10THEN 3070
3060 IF F> 9THEN PLOT 6,4,3,60,2:PRINT RIGHT$ ((STR$ (AD- AJ)),3):GOTO 3075
3070 PLOT 6,4,3,28,2:PRINT RIGHT$ ((STR$ (AD)),3)
3075 PLOT 6,2
3080 IF F= 19THEN 3100
3090 GOTO 2920
3100 REM  POST ROUND DATA ON SCREEN: C, COURSE#,HANDICAP,SCORE
3105 GOSUB 155
3110 PLOT 6,4
3120 PLOT 3,BF* 8,6
3130 PRINT "C";
3140 PLOT 6,5
3150 PRINT RIGHT$ ((STR$ (AI)),1);
3160 PLOT 6,3
3170 PRINT RIGHT$ ((STR$ (H)),2);
3180 PLOT 6,1
3190 PRINT RIGHT$ ((STR$ (S2)),3)
3200 BF= BF+ 1
3210 IF BF> 7THEN BF= 0
3211 GOSUB 140
3212 GOSUB 150:PRINT "  PAR "AD"  SCORE "S2""
3214 GOSUB 140
3220 GOSUB 150:INPUT "PLAY AGAIN (Y/N) ?";AA$
3230 IF LEFT$ (AA$,1)< > "Y"THEN 3260
3235 GOSUB 155
3236 PLOT 3,9,20:PRINT O1$
3237 PLOT 3,28,2:PRINT "   ":PLOT 3,60,2:PRINT "   "
3240 GOSUB 3310
3250 GOTO 340
3260 GOSUB 150:PRINT "G A M E  I S  O V E R"
3270 GOSUB 3690
3280 PLOT 6,2,15,27,11
3290 LOAD "MENU":RUN
3300 END
3310 REM  HOUSEKEEPING
3311 M$(1)= "1 - PEBBLE BEACH        "
3312 M$(2)= "2 - THINKING MAN        "
3313 M$(3)= "3 - BROOKLEA            "
3314 M$(4)= "4 - RETREAT/SEASIDE     "
3315 M$(5)= "5 - MARSHSIDE/PLANTATION"
3320 REM  BUILD CRT
3321 M$(6)= "1 - HOOK         "
3322 M$(7)= "2 - SLICE        "
3323 M$(8)= "3 - POOR DISTANCE"
3324 M$(9)= "4 - TRAPSHOTS    "
3325 M$(10)= "5 - PUTTING      "
3330 PLOT 6,6
3340 PLOT 2,50,0,242,50,50,127,50,127,0,50,0,255
3341 N1$= "(YOU FINALLY HOLED IT)  "
3342 N2$= "IT'S IN  -  TRIPLE BOGEY"
3343 N3$= "IT'S IN  -  DOUBLE BOGEY"
3344 N4$= "IT'S IN      -     BOGEY"
3345 N5$= "ALL RIGHT          A PAR"
3346 N6$= "YEAH !!!!!    -   BIRDIE"
3347 N7$= "GO WITH IT !!!!    EAGLE"
3348 N8$= "****** HOLE IN ONE******"
3350 PLOT 6,2
3360 PLOT 3,26,20
3370 PRINT "  WOODS  n<-BAG OF CLUBS->n  IRONS   "
3380 PLOT 3,26,21
3390 PRINT "1 DRIVER nHANDICAP:0-30.NOnFULL <FULL"
3400 PLOT 3,26,22
3410 PRINT "2 BRASSIEnSAND WEDGE. WHENn11  1  21 "
3420 PLOT 3,26,23
3430 PRINT "3 SPOON  nYOU REACH GREEN,n12  2  22 "
3440 PLOT 3,26,24
3450 PRINT "4 WOOD   nYOU WILL PUTT.  n13  3  23 "
3460 PLOT 3,26,25
3470 PRINT "iiiiiiiii                 n14  4  24 "
3480 PLOT 3,26,26
3490 PRINT "NOTE: SCORER WILL ASK YOU n15  5  25 "
3500 PLOT 3,26,27
3510 PRINT "FOR % (1-99) FULL SWING ONn16  6  26 "
3520 PLOT 3,26,28
3530 PRINT "IRONS 21-29.  PUTT POTENCYn17  7  27 "
3540 PLOT 3,26,29
3550 PRINT "IS HOW HARD YOU HIT PUTT -n18  8  28 "
3560 PLOT 3,26,30
3570 PRINT "INCREASE # FOR LONGER PUTTn19  9  29 "
3580 GOSUB 120
3590 PLOT 6,6
3600 PLOT 2,0,105,242,0,127,127,127,127,105,0,105,255
3610 PLOT 6,2
3620 PLOT 3,1,1
3630 PRINT " 1  2  3  4  5  6  7  8  9 TOT  10 11 12 13 14 15 16 17 18 TOT"
3640 FOR AA= 1TO 62:PLOT 3,AA,4:PRINT " ":NEXT AA
3650 F= 1
3660 REM  TO BUILD HOLE
3670 GOSUB 3950
3680 RETURN
3681 PLOT 6,69,3,AE,4:PRINT RIGHT$ ((STR$ (S1)),2)
3682 IF F> 9THEN PLOT 6,5,3,60,4:PRINT RIGHT$ ((STR$ (S2+ S1- AF)),3):GOTO 3685
3683 PLOT 6,5,3,28,4:PRINT RIGHT$ ((STR$ (S2+ S1)),3)
3685 PLOT 6,2
3686 RETURN
3690 REM  POST SCORES
3700 IF AG= 0THEN AG= 1:GOTO 3830
3710 PLOT 6,1
3720 PLOT 3,AE,4
3730 PRINT RIGHT$ ((STR$ (AH)),2)
3740 AE= AE+ 3
3750 PLOT 3,28,4
3760 IF AE= 28THEN PRINT RIGHT$ ((STR$ (S2)),3):GOTO 3800
3770 PLOT 3,60,4
3780 IF AE= 60THEN PRINT RIGHT$ ((STR$ (S2- AF)),3):GOTO 3820
3790 GOTO 3830
3800 AF= S2
3810 AE= 33
3820 REM
3830 RETURN
3840 REM  SET UP PROPER DATA ENTRIES FOR COURSE SELECTED
3850 GOSUB 3890:REM  SET UP DATA CORRESPONDING TO COURSE SELECTED FOR DISTANCE, PAR,ETC
3860 GOSUB 1160:REM  PRINT SCORECARD FOR THIS (AI) COURSE
3870 GOSUB 3890:REM  AGAIN, RESTORE DATA POINTER
3880 RETURN
3890 RESTORE 170
3900 IF AI= 2THEN RESTORE 200:GOTO 3940
3910 IF AI= 3THEN RESTORE 230:GOTO 3940
3920 IF AI= 4THEN RESTORE 260:GOTO 3940
3930 IF AI= 5THEN RESTORE 290:GOTO 3940
3940 RETURN
3950 REM  DRAW HOLE FROM TEE TO GREEN ON CRT
3960 C2$= "                                                                "
3970 C3$= "````````````````````````````````````````````````````````````````"
3980 C4$= "````````````````````````````````````````````````````````````````"
3990 C6$= "`````````````````````````OUT OF BOUNDS``````````````````````````"
4000 C7$= "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
4010 G2$= "```"
4012 G3$= "tu"
4014 G4$= "vw"
4020 PLOT 3,0,7
4030 PRINT C7$
4040 PLOT 3,0,17
4050 PRINT C6$
4060 PLOT 3,0,8
4070 PRINT C4$
4080 PLOT 3,0,16
4090 PRINT C4$
4100 PLOT 3,0,9
4110 PRINT C3$
4120 PLOT 3,0,15
4130 PRINT C3$
4140 PLOT 3,0,10
4150 PRINT C3$
4160 PLOT 3,0,14
4170 PRINT C3$
4180 PLOT 3,0,11
4190 PRINT C3$
4200 PLOT 3,0,12
4210 PRINT C3$
4220 PLOT 3,0,13
4230 PRINT C3$
4240 PLOT 3,1,10
4250 PRINT "         "
4260 PLOT 3,1,14
4270 PRINT "         "
4280 PLOT 3,1,11
4290 G$= "         "
4300 PRINT G$
4310 PLOT 3,1,12
4320 PRINT G$
4330 PLOT 3,1,13
4340 PRINT G$
4350 PLOT 3,58,11
4360 G1$= "    "
4370 PRINT G1$
4380 PLOT 3,58,12
4390 PRINT G1$
4400 PLOT 3,58,13
4410 PRINT G1$
4420 IF F= 1THEN 4460
4430 IF (F+ 1)/ 3= INT ((F+ 1)/ 3)THEN 4460
4440 IF L(2)= 6OR L(3)= 6THEN 4460
4445 IF P= 3AND F/ 2= INT (F/ 2)THEN 4460
4450 GOTO 4610
4460 PLOT 27,10
4470 PLOT 3,55,7
4480 PRINT "^^^^^^^^^"
4490 PLOT 3,54,7
4500 PRINT "^^^^^^^^^"
4510 PLOT 3,53,11
4520 PRINT "^^^^^^^"
4530 PLOT 3,52,14
4540 PRINT "^^^^"
4550 PLOT 3,51,14
4560 PRINT "^^^^"
4570 PLOT 27,24
4580 PLOT 3,53,9
4590 PRINT "    "
4591 IF P< > 3THEN 4600
4592 WP$= "^^^^^^^^^^^^^^^^^^"
4593 FOR AA= 9TO 14:PLOT 3,30,AA:PRINT WP$:NEXT AA
4594 PLOT 3,48,14:PRINT "^^^"
4596 PLOT 27,10,3,49,13:PRINT "   ":PLOT 27,24
4600 IF F= 1THEN 4620
4610 IF INT (3* RND (1)+ 1)< > 3THEN 4680
4620 PLOT 3,6,9
4630 PRINT G2$
4640 PLOT 3,9,10
4650 PRINT G2$
4660 PLOT 3,9,9
4670 PRINT G2$:IF F= 1THEN 4690
4680 IF INT (3* RND (1)+ 1)< > 3THEN 4770
4690 PLOT 3,9,14
4700 PRINT G2$
4710 PLOT 3,10,14
4720 PRINT G2$
4730 PLOT 3,7,15
4740 PRINT G2$;G2$
4750 PLOT 3,7,16
4760 PRINT G2$;G2$
4770 IF INT (3* RND (1)+ 1)< > 3THEN 4800
4780 PLOT 3,21,9
4790 PRINT G2$;G2$
4800 IF INT (3* RND (1)+ 1)< > 3THEN 4830
4810 PLOT 3,33,15
4820 PRINT G2$
4830 PLOT 3,2,11
4840 PRINT "o`"
4850 PLOT 3,2,12
4860 PRINT "o"
4870 PLOT 3,58,9:PRINT G6$:PLOT 3,58,10:PRINT G7$
4871 SP= INT (10* RND (1)+ 7)
4872 FOR AA= 1TO SP:WP= INT (15* RND (1)+ 1)
4873 ON WPGOSUB 4875,4876,4877,4878,4879,4880,4881,4882,4883,4884,4885,4886,4887,4888,4889
4874 GOTO 4901
4875 X3= 12:Y3= 8:RETURN
4876 X3= 45:Y3= 14:RETURN
4877 X3= 28:Y3= 14:RETURN
4878 X3= 58:Y3= 15:RETURN
4879 X3= 20:Y3= 9:RETURN
4880 X3= 61:Y3= 9:RETURN
4881 X3= 48:Y3= 8:RETURN
4882 X3= 59:Y3= 7:RETURN
4883 X3= 35:Y3= 8:RETURN
4884 X3= 56:Y3= 14:RETURN
4885 X3= 60:Y3= 14:RETURN
4886 X3= 26:Y3= 8:RETURN
4887 X3= 15:Y3= 13:RETURN
4888 X3= 43:Y3= 14:RETURN
4889 X3= 58:Y3= 9:RETURN
4890 IF P= 3AND D< 210THEN 4910
4900 GOTO 4940
4901 PLOT 3,X3,Y3:PRINT G3$
4902 PLOT 3,X3,Y3+ 1:PRINT G4$
4903 NEXT AA:GOTO 4890
4910 PLOT 3,0,9:PRINT G2$;G2$
4920 PLOT 3,0,15:PRINT G2$;G2$;G2$
4930 PLOT 27,10,3,0,9:PRINT G2$;G2$:PLOT 27,24
4940 RETURN
4950 REM  FILL IN RIGHT SIDE OF FAIRWAY
4960 PLOT 3,0,7
4970 ON L(X)GOTO 4980,4990,5010,5030,5050,5060,5080
4980 RETURN
4990 PRINT C4$
5000 RETURN
5010 PRINT C4$
5020 RETURN
5030 PRINT C2$
5040 RETURN
5050 RETURN
5060 PRINT C7$
5070 RETURN
5080 PRINT C6$
5090 RETURN
5100 REM  FILL IN LEFT SIDE OF FAIRWAY
5110 PLOT 3,0,17
5120 GOTO 4970
5130 REM  POSITION BALL ON FAIRWAY OR GREEN
5140 IF L(1)= 0THEN 5510
5150 IF S1= 0THEN 5510
5160 PLOT 3,X1,Y1
5170 IF X1> 50THEN PRINT "`"
5180 IF X1> 9THEN PRINT "`":GOTO 5200
5190 PRINT " "
5200 IF L(1)< > 9THEN 5240
5210 PLOT 3,3,11
5220 PRINT "`"
5230 GOTO 5410
5240 REM  NOT ON TEE OR IN HOLE
5250 IF L(1)< > 8THEN 5310
5260 X1= 4+ INT ((D2- 1)/ 10)
5270 Y1= 13
5280 PLOT 3,X1,Y1
5290 PRINT "d"
5300 GOTO 5410
5310 X1= 10+ INT (D2/ 6)
5320 IF X1> 50THEN X1= 50
5330 IF X1< 10THEN X1= 10
5332 IF U1= 0THEN 5340
5334 IF U1= 1THEN Y1= 12- INT (O/ 10):U1= 0:GOTO 5360
5336 U1= 0:Y1= 12+ INT (O/ 10):GOTO 5360
5340 Y1= 12+ INT (O/ 10)
5350 IF INT (2* RND (1)+ 1)= 2THEN Y1= 12- INT (O/ 10)
5360 IF Y1> 16THEN Y1= 16
5370 IF Y1< 8THEN Y1= 8
5380 PLOT 3,X1,Y1
5390 PRINT "d"
5410 PLOT 3,59,12
5420 PRINT " "
5425 GOTO 5510
5430 IF INT (18* RND (1)+ 1)< > 12THEN 5505
5440 FOR AA= 15TO 9STEP - 1
5450 PLOT 6,16,3,13,AA
5460 PRINT "*"
5470 FOR AB= 0TO 15:NEXT AB
5480 PLOT 6,2,3,13,AA
5490 PRINT "`"
5500 NEXT AA
5505 RETURN
5510 RETURN
5520 GOSUB 5730
5530 QZ= 28672+ 128* QY+ QX+ QX:QP= QT+ 2:GOSUB 5720
5540 QZ= 128- QW- QW:QP= QT+ 25:GOSUB 5720
5550 POKE QT+ 5,QN- 1:POKE QT+ 7,QW* (QO+ 1):POKE QT+ 19,35* (1- QO)
5560 RETURN
5570 GOSUB 5730:RESTORE 5580
5580 DATA 33,-1,-1,6,-1,14,-1,17,128,0,25,126
5590 DATA 17,128,255,25,119,35,-1,13,194,-1,-1
5600 DATA 17,-1,-1,25,5,194,-1,-1,201
5610 IF QT> 65503THEN QT= QT- 32:GOTO 5650
5620 FOR U9= 1TO 32:READ QQ
5630 IF QQ> = 0AND QQ< > PEEK (QT+ 1)THEN U9= 32:QT= QT- 32
5640 NEXT U9
5650 RESTORE 5580
5660 FOR U8= 1TO 32:READ QQ:POKE QT+ U8,QQ- (QQ< 0):NEXT U8
5670 QZ= QT+ 1:QP= 33283:GOSUB 5720
5680 QZ= QT:QP= QR:GOSUB 5720
5690 QZ= QT+ 6:QP= QT+ 30:GOSUB 5720
5700 QZ= QT+ 8:QP= QT+ 22:GOSUB 5720
5710 CLEAR 25:GOTO 110
5720 QV= INT (QZ/ 256):POKE QP,QZ- 256* QV:POKE QP+ 1,QV:RETURN
5730 QR= 32940:QT= 256* PEEK (QR+ 1)+ PEEK (QR):RETURN
5740 QS= CALL (0)
5750 PLOT 3,QX,QY+ QN- 1:PRINT SPC( QW)""
5760 PLOT 3,QX,QY+ QN- 1
5770 RETURN
5780 END