Listing of file='GOLF' on disk='vmedia/more_games.wvd.zip'
# Sector 605, program filename = 'GOLF' 0010 REM GOLF 0015 LOAD DC T#6,"GAMES" 0020 %KEY ## for a ######### Range of ### to ### yards 0030 REM A()=HOLE YARDAGE P()=HOLE PAR 0040 REM M(4,18)=PLAYER SCORES P$()=PLAYER NAMES 0050 REM Y=YARDAGE HIT H=YARDS TO GO S=SCORE 0060 REM C$()=CLUB NAME R()=MIN YARDS/CLUB V()=YARDAGE VAR./CLUB 0070 DIM A(18),P(18),M(4,18),N(4),C$(14)6,R(14),V(14),P$(4) 0080 SELECT PRINT 005(64) : PRINT HEX(03),"DIRECTIONS FOR GOLF" 0090 GOSUB 780 : GOTO 140 0100 DEFFN'15 : PRINT "YOUR CHOICE OF CLUBS- CLUB 0 = LOOK AT LIST" 0110 FOR X=1 TO 14 : PRINTUSING 20,X,C$(X),R(X),R(X)+V(X) : NEXT X 0120 INPUT "club",X : IF X=0 THEN 100 0130 RETURN 0140 INPUT "HOW MANY PLAYERS (MAX.=4)",U 0150 U=INT(U) : IF U<1THEN 140 : IF U>4THEN 140 : FOR X=1 TO U 0160 INPUT "Player's name",P$(X) : IF P$(X)=" "THEN 160 : NEXT X 0170 PRINT 0180 DATA 360,4,585,5,400,4,185,3,415,4,375,4,219,3,450,4,370,4 0190 DATA 395,4,630,5,330,4,610,5,440,4,180,3,420,4,595,5,195,3 0200 FOR R=1TO 18 : REM SET COURSE PARAMETERS 0210 READ A(R) : READ P(R) 0220 NEXT R 0230 GOSUB '15 0240 DEFFN'0 0250 E,N(1),N(2),N(3),N(4)=0 0260 FOR J=1TO 18 0270 FOR Q=1TO U 0280 H=A(J) : S=0 0290 PRINT HEX(03);"Hole number";J;"is";H;"yards PAR";P(J) 0300 PRINT P$(Q);"'s turn" 0310 GOSUB 120 : X=INT(X) : IF X<1THEN 310 : IF X>14THEN 310 0320 S=S+1 0330 Y=(V(X)*RND(1)+R(X)) 0340 IF S=1THEN 360 : IF X=11THEN 350 : IF RND(1)>.05THEN 360 0350 Y=1+(30*RND(1)) 0360 PRINT HEX(0C090909090909090909);"Hit is ";INT(Y);"yards"; 0370 C=H-Y : Y=INT(Y) 0380 IF ABS(C)<30THEN 570 0390 L=INT(RND(1)*100) : C=ABS(H-Y) 0400 IF C<60THEN 420 : IF (H-Y)>0THEN 420 0410 PRINT " over the green" : C=INT(30+(100*RND(1))) : GOTO 520 0420 IF L<4THEN 440 : IF L<7THEN 510 : IF L<11THEN 530 0430 IF L<13 THEN 520 : GOTO 540 0440 PRINT " IN TRAP ** pin is ";C; "yards" 0450 L8=INT(RND(1)*10) : IF L8>3THEN 450 : IF L8<=1THEN 540 0460 FOR Z=1TO L8 0470 S=S+1 0480 GOSUB 120 0490 PRINT "still in trap" 0500 NEXT Z : GOTO 540 0510 PRINT " IN RUFF" : GOTO 540 0520 PRINT " IN THE WOODS OUT OF BOUNDS" : S=S+2 : PRINT "You lose two strokes" : GOTO 540 0530 PRINT " IN WATER" : S=S+1 : PRINT "you lose one stroke" 0540 PRINT " Distance to pin is";C;"yards" 0550 IF C<30THEN 570 0560 H=C : GOTO 310 0570 IF ABS(C)<.1THEN 600 : PRINT " on the green" 0580 L=INT(1+3*RND(1)) : IF C>15THEN 590 : L=INT(1+2*RND(1)) 0590 PRINT L;"putts" : M(Q,J)=S+L : GOTO 620 0600 IF S<>1THEN 610 : PRINT " HOLE IN ONE" 0610 M(Q,J)=S : PRINT " YOU SUNK THE SHOT" 0620 PRINT : PRINT "******************************************" 0630 PRINT M(Q,J);"Strokes for hole number";J;"for ";P$(Q) 0640 PRINT "******************************************" 0650 PRINT 0660 GOSUB 770 : NEXT Q : PRINT 0670 PRINT HEX(03);"********** SCORE FOR";J;"HOLES **********" 0680 E=P(J)+E 0690 FOR W=1TO U 0700 LET N(W)=N(W)+M(W,J) 0710 PRINT P$(W);" shot";N(W);" par is";E 0720 NEXT W 0730 PRINT : PRINT : GOSUB 770 0740 NEXT J 0750 PRINT "**********END OF GAME**********" 0760 END 0770 INPUT "KEY RETURN TO CONTINUE",S : RETURN 0780 C$(1)="1 iron" : R(1)=170 : V(1)=20 0790 C$(2)="2 iron" : R(2)=160 : V(2)=20 0800 C$(3)="3 iron" : R(3)=150 : V(3)=20 0810 C$(4)="4 iron" : R(4)=140 : V(4)=20 0820 C$(5)="5 iron" : R(5)=120 : V(5)=30 0830 C$(6)="6 iron" : R(6)=100 : V(6)=30 0840 C$(7)="7 iron" : R(7)= 70 : V(7)=30 0850 C$(8)="8 iron" : R(8)=60 : V(8)=30 0860 C$(9)="9 iron" : R(9)=30 : V(9)=30 0870 C$(10)="putter" : R(10)=0 : V(10)=30 0880 C$(11)="1 wood" : R(11)=180 : V(11)=90 0890 C$(12)="2 wood" : R(12)=160 : V(12)=70 0900 C$(13)="3 wood" : R(13)=130 : V(13)=60 0910 C$(14)="4 wood" : R(14)=120 : V(14)=50 0920 RETURN