image of READY prompt

Wang2200.org

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