40 DATA &h8b55,&hb8ec,&h0600,&h07b7,&h768b,&h8a0c,&h8b2c
50 DATA &h0a76,&h0c8a,&h768b,&h8a08,&h8b34,&h0676,&h148a
60 DATA &hcdfe,&hc9fe,&hcefe,&hcafe,&h10cd,&hca5d,&h8,&h0
70 ON KEY(10) GOSUB 1430:KEY(10) ON:GOSUB 960:COLOR 15,0:CLS:LOCATE 5,20:PRINT"What Is Your Name? ":LOCATE 23,18:PRINT"***** Enter Your Name And Strike Enter *****":LOCATE 5,38:PRINT" ";:GOSUB 1670:P$=" "+LEFT$(ZA,7)
80 LOCATE 7,20:PRINT"What Is Your Handicap "P$"? ";:LOCATE 23,16:PRINT"***** Enter Your Handicap And Strike Enter *****":LOCATE 7,20:PRINT"What Is Your Handicap "P$"? ";:GOSUB 1670:A=VAL(ZA)
90 IF A<0 OR A>30 THEN CLS:LOCATE 4,16:PRINT"Please Enter An Amount Between 0 And 30 Inclusive":GOTO 80
100 CLS:IF A<4 THEN LOCATE 4,25:PRINT"You Should Be On The Tour!!":LOCATE 6,20:PRINT"DIFFICULTIES AT GOLF INCLUDE THE FOLLOWING:":COLOR 10,0
570 Z=INKEY$:LOCATE 1,21:COLOR 0,7:PRINT" You're On The Green"GRN"Feet From The Pin "
580 LOCATE 25,26:PRINT"Strike <F10> To Leave This Game";:LOCATE 3,38:PRINT" Par"PAR:LOCATE 5,36:PRINT" Strokes"STK:COLOR 15,0:LOCATE 9,28:PRINT" Strike Space Bar To Putt ":LOCATE 8,22:PRINT" Enter A Putt Factor Between .5 and 10 "
590 LOCATE 10,40:Z2=""
600 GOSUB 930:IF Z=" " OR Z=CHR$(13) THEN PUTT=VAL(Z2):GOTO 660
610 IF LEN(Z)>1 THEN IF MID$(Z,2,1)=CHR$(75) THEN Z=CHR$(8) ELSE 600
620 IF LEN(Z2)<1 AND Z=CHR$(8) THEN 600
630 IF Z=CHR$(8) THEN PRINT CHR$(29)" "CHR$(29);:Z2=LEFT$(Z2,LEN(Z2)-1):GOTO 600
640 IF (Z<"0" OR Z>"9") AND Z<>"." THEN 600
650 LOCATE 10:PRINT Z;:Z2=Z2+Z:GOTO 600
660 LOCATE 10,30:PRINT SPC(30):LOCATE 5,43:PRINT" ":IF PUTT<0 OR PUTT>10 THEN 580
670 HP=HP+1
680 IF HP>6 OR STK-1>(A*.75)+2 THEN 730
690 IF B=5 THEN GRN=GRN-PUTT*(4+1*RND)+1 ELSE GRN=GRN-PUTT*(4+2*RND)+1.5
700 IF GRN<-40 OR GRN>40 THEN GRN=40
710 IF GRN<-1.4 THEN IF FF=-1 THEN CX=CX+GRN*2:GOTO 740 ELSE CX=40-GRN:GOTO 740
720 IF GRN>1.4 THEN CX=40-GRN:GOTO 740
730 GRN=0:CX=40
740 STK=STK+1
750 IF CY<2 THEN CY=2
760 IF CX>79 THEN CX=77
770 GRN=INT(GRN+.4)
780 LOCATE 22,CY-1:PRINT" ";
790 IF CX<2 THEN CX=3
800 COLOR 31:FOR CZ=CY TO CX-1 STEP FF:IF FF=1 THEN GOTO 820
930 DEF SEG=&H40:POKE &H17,(PEEK(&H17) OR 96):DEF SEG:Z=INKEY$:IF Z="" THEN RANDOMIZE VAL(RIGHT$(TIME$,2)):GOTO 930 ELSE RETURN
940 LOCATE 20,23:PRINT"That Is Not A Choice. Please Try Again.":FOR XX=1 TO 2000:NEXT:LOCATE 20,1:PRINT SPC(79):RETURN
950 R1%=1:C1%=1:R2%=9:C2%=40:GOSUB 1780:RETURN
960 FOR A=1 TO 7:READ Z(A):NEXT:RETURN
970 CLS:COLOR 0,7:LOCATE 10,25:PRINT" Please Pick A Course To Play ":LOCATE 12,15:PRINT" 1 Amateur Green Grass Country Club <Rating 65> ":LOCATE 13,15:PRINT" 2 Down Hill Country Club <Rating 69> "
990 GOSUB 930:IF Z<"1" OR Z>"3" THEN GOSUB 940:GOTO 990 ELSE C=VAL(Z):IF C=1 THEN RETURN
1000 FOR D=1 TO ((C-1)*126):READ E:NEXT:RETURN
1010 LOCATE 20,1:COLOR 0,7:PRINT P$" This Is Your Bag Of Clubs: ":PRINT TAB(5)"Woods 1 thru 4"TAB(20)"300 to 250 Yards ":PRINT TAB(5)"Irons 1 thru 9"TAB(20)"250 to 0 Yards ":PRINT TAB(5)"Pitching Wedge"TAB(20)"100 to 0 Yards ":COLOR 7,0
1020 COLOR 0,7:LOCATE 25,25:PRINT" Strike <F10> To Leave This Game ";:COLOR 3,0
1030 COLOR 15:LOCATE 14,5:PRINT"Choose Your Club. ":LOCATE 15,5:PRINT"1-9 For Irons, 1-4 For Woods,":LOCATE 16,1:PRINT SPC(40):LOCATE 16,5:PRINT"Or PW For Pitching Wedge.":COLOR 7:RETURN
1040 LOCATE 2,1:STK=STK+1:IF B1>5 THEN 1070
1050 PRINT"Shot Went"DIST"Yards.":PRINT"It`s";:COLOR 15,0:PRINT GRN;:COLOR 3,0:PRINT"Yards From The Green
1060 PRINT"And Is"INT(OF)"Yards Off Line In "Z(B1):GOSUB 1030:RETURN
1070 PRINT"Shot Went Into "Z(B1):STK=STK+1:PRINT"Penalty Stroke Accessed. ":PRINT"Hit From Same Location":PENALTY=1:J=J+1:B1=1:YARDS=HOLD:DIST=0:OF=0:GRN=HOLD:GOTO 1040
1080 PS=0:HP=0:S=S+1:J=0
1090 R1%=1:C1%=1:R2%=9:C2%=70:GOSUB 1780:STKS=STKS+STK:HOLE=HOLE+1:LOCATE 1,28:PRINT"Your Score On Hole";HOLE-1;"Was"STK:LOCATE 3,30:PRINT"Total Par So Far Is"TOTAL:LOCATE 4,29:PRINT"Your Current Score Is "STKS:STK=0
1100 LOCATE 25,25:COLOR 15,0:PRINT" Strike Any Key To Continue ";:COLOR 3,0:GOTO 930
1110 LOCATE 10,15:COLOR 15:IF STK=PAR+2 THEN DOUBLEBOGEY=DOUBLEBOGEY+1:PRINT" A Double Bogey. Let The Next Foursome Play Through ":FOR X=1 TO 8:SOUND 100,1:SOUND 50,1:NEXT
1120 IF STK=PAR+1 THEN BOGEY=BOGEY+1:PRINT" A Bogey. Maybe The Next Hole Will Be Better.":FOR X=1 TO 5:SOUND 500,2:SOUND 100,2:NEXT
1130 IF STK=PAR THEN PARS=PARS+1:PRINT" A Par. Keep Up The Good Work.":SOUND 2000,15
1140 IF STK>PAR+2 THEN BAD=BAD+1:PRINT" Maybe You Had Better Get Your Money Back.":SOUND 100,19
1150 IF STK=PAR-1 THEN BIRDIE=BIRDIE+1:PRINT" Alright ! A Birdie.":FOR X=1 TO 5:SOUND 2000,1:SOUND 1000,1:SOUND 2000,1:SOUND 1000,1:NEXT
1160 IF STK=PAR-2 THEN IF PAR=3 THEN HOLEINONE=HOLEINONE+1:PRINT"A Hole In One !!!!":FOR X=1 TO 7:SOUND 2000,1:SOUND 1000,1:NEXT ELSE EAGLE=EAGLE+1:PRINT" An Eagle. WOW !! You Should Be On The Tour.":FOR X=1 TO 7:SOUND 3000,1:SOUND 500,1:NEXT
1170 IF STK=PAR-3 THEN DOUEAG=DOUEAG+1:PRINT"YEE-HAA!!! A Double Eagle !!! Your Name Must Be JACK":FOR XX=1 TO 7:SOUND 3000,1:SOUND 1000,1:SOUND 5000,2:SOUND 500,1:NEXT
1180 COLOR 7:RETURN
1190 CLS:COLOR 2,0:LOCATE 1,27:PRINT"Your Score Is As Follows:":LOCATE 3,30:PRINT BAD"Awful Shots":PRINT TAB(30);DOUBLEBOGEY"Double Bogeys":PRINT TAB(30);BOGEY"Bogeys":PRINT TAB(30);PARS"Pars":PRINT TAB(30);BIRDIE"Birdies":PRINT TAB(30);EAGLE"Eagles
1200 PRINT TAB(30);DOUEAG"Double Eagle":PRINT TAB(30);HOLEINONE"Hole In One":LOCATE 12,27:PRINT"Par For This Course Is"TOTAL:LOCATE 13,31:PRINT"Your Score Was"STKS
1210 COLOR 0,7:LOCATE 15,23:PRINT" Would You Like To Play Again? <Y/N> ";:COLOR 7,0
1220 GOSUB 930:IF Z="Y" THEN RETURN ELSE IF Z<>"N" THEN 1220 ELSE 1450
1230 CLS:READ PAR,YARDS,LEFT,RIGHT,DIFF,LNG,FAC
1240 LNG=LNG+4
1250 GOSUB 1490
1260 LOCATE 1,1:PRINT"╔"STRING$(26,205)"╗":LOCATE 2,1:PRINT"║ You Are At No."HOLE"Tee":LOCATE 2,28:PRINT"║":LOCATE 3,1:PRINT"║"SPC(5)"Distance";:COLOR 15,0:PRINT YARDS;:COLOR 3,0:PRINT"Yards":LOCATE 3,28:PRINT"║"
1270 LOCATE 4,1:PRINT"║"SPC(9)"Par"PAR:LOCATE 4,28:PRINT"║":LOCATE 5,1:PRINT"╚"STRING$(26,205)"╝":PRINT:PRINT"On Your Left Is "Z(LEFT):PRINT"On Your Right Is "Z(RIGHT):TOTAL=TOTAL+PAR:RETURN
1280 DATA Fairway,Deep Rough,Trees,Adjacent Fairway,Sand Trap,A Big Lake,Out Of Bounds
1290 DATA 5,501,2,3,60,6,3,3,165,2,6,60,6,1,5,475,3,3,50,7,3,4,289,3,3,35,8,2,4,340,7,2,80,6,2,4,365,7,6,80,4,2,3,185,7,2,80,4,1,4,330,7,2,80,6,2,4,412,7,2,80,2,2
1300 DATA 4,440,7,3,80,8,3,4,420,7,4,80,9,3,3,145,2,6,85,8,1,5,535,7,2,80,5,3,4,340,3,3,45,5,2,4,380,6,6,85,4,2,3,165,3,3,34,6,1,4,410,7,2,85,2,2,5,450,3,3,45,8,3
1310 DATA 4,412,6,6,80,2,2,4,446,3,3,25,8,2,5,630,3,3,35,2,3,3,210,6,6,75,2,1,4,315,3,1,40,7,2,4,454,3,6,85,7,3,3,154,6,6,85,7,1,5,625,3,6,85,2,3,4,444,3,3,25,8,3
1320 DATA 3,215,1,7,85,12,2,5,556,2,2,30,4,3,4,413,3,6,85,2,2,4,450,4,4,25,8,3,4,465,3,7,85,7,3,5,630,2,2,15,2,3,3,147,6,6,85,8,1,4,432,2,3,35,8,3,4,472,7,6,85,7,3
1330 DATA 5,628,3,3,10,2,3,3,235,6,6,75,10,2,4,531,3,6,65,5,3,4,465,2,7,65,7,3,4,543,6,2,60,4,3,3,312,6,6,85,7,2,5,622,2,3,25,2,3,4,476,2,2,35,7,3,4,465,3,2,40,7,3
1340 DATA 3,197,6,3,75,3,1,4,345,6,2,70,5,2,5,623,3,2,30,2,3,4,456,2,3,35,7,3,4,398,3,3,35,3,2,3,300,6,7,75,8,2,5,621,2,3,45,2,3,4,467,3,3,44,7,3,4,489,2,2,32,6,3
1350 FOR XX=2 TO 22:LOCATE XX,1:PRINT"│":LOCATE XX,80:PRINT"│":NEXT:LOCATE 1,1:PRINT"┌"STRING$(78,196)"┐":LOCATE 23,1:PRINT"└"STRING$(78,196)"┘";:LOCATE 2,2:COLOR 3,0:COLOR 15,0:PRINT TAB(33)"P C G O L F"
1360 LOCATE 10,23,0:PRINT"Would You Like Instructions? <Y/N>";:COLOR 3,0:GOSUB 930:IF Z="N" THEN RETURN ELSE IF Z<>"Y" THEN 1360
1370 LOCATE 4,13:PRINT"Welcome to the first tee. When asked, you will need to":LOCATE 5,13:PRINT"tell the starter your handicap (1 to 30) and indicate if":LOCATE 6,13:PRINT"your game is affected by any of the problem areas listed.
1380 LOCATE 7,13:PRINT"It will be to your benefit to be honest in answering, as":LOCATE 8,13:PRINT"it will emulate your golfing abilities.":LOCATE 10,13:PRINT"Before each shot, the scene will be set for you. Respond
1390 LOCATE 11,13:PRINT"by choosing the right club from your bag and indicating":LOCATE 12,13:PRINT"how hard you wish to swing 11 to 100 % .":LOCATE 13,13:PRINT"Wood shots are always full hits.
1400 LOCATE 15,13:PRINT"The game is programmed to mix pre-set club distance":LOCATE 16,13:PRINT"with your indicated ` % ' of full swing to produce your":LOCATE 17,13:PRINT"results.
1410 LOCATE 19,13:PRINT"Obviously, the more you play and learn the subtleties":LOCATE 20,13:PRINT"of `club swing %,' the better you will score.":LOCATE 22,18:PRINT"WHAT? YOU THOUGHT THIS WAS GOING TO BE EASY?
1420 LOCATE 25,27:COLOR 15,0:PRINT"Strike Any Key To Continue";:GOTO 930
1430 KEY(10) OFF:COLOR 15,0:LOCATE 25,20:PRINT"Do You Wish To Leave This Game? <Y/N> ";:COLOR 3,O
1440 GOSUB 930:IF Z="N" OR Z="n" THEN LOCATE 25,1:PRINT SPC(70);:LOCATE 25,22:COLOR 0,7:PRINT"Strike <F10> To Leave This Game";:COLOR 3,0:KEY(10) ON:RETURN ELSE IF Z<>"Y" AND Z<>"y" THEN 1440
1450 CLS:LOCATE 12,27:COLOR 15:PRINT"Thank You For Playing
1460 CLEAR:ON ERROR GOTO 1470:RUN"MENU2"
1470 CLEAR:ON ERROR GOTO 1480:RUN"MENU1"
1480 RUN"MENU3"
1490 CLS:LOCATE 1,41:PRINT"┌"STRING$(37,196)"┐":FOR E=2 TO 22:LOCATE E,41:PRINT"│";:LOCATE E,79:PRINT"│":NEXT