home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpmug / cpmug020.ark / GOLF.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  6KB  |  245 lines

  1. 1 REM *** MODIFICATIONS TO THE ORIGINAL BY DAVID AHL, DIGITAL
  2. 2 PRINT " *** WELCOME TO THE MAYNARD COUNTRY CLUB, AN EIGHTEEN HOLE"
  3. 3 PRINT " *** CHAMPIONSHIP LAYOUT, LOCATED JUST A SHORT DISTANCE"
  4. 4 PRINT " *** FROM THE HEART OF BEAUTIFUL DOWNTOWN MAYNARD."
  5. 5 PRINT" *** THE COMMENTATOR WILL EXPLAIN THE COURSE AS YOU"
  6. 6 PRINT" *** PLAY.  ENJOY YOUR GAME; SEE YOU AT THE 19TH HOLE..."
  7. 7 PRINT
  8. 9 DIM L(10)
  9. 10  LET G1=18
  10. 20  LET G2=0
  11. 30  LET G3=0
  12. 40  LET A=0
  13. 50  LET N=.8
  14. 60  LET S2=0
  15. 70  LET F=1
  16. 80 PRINT "WHAT IS YOU HANDICAP";
  17. 90 INPUT H
  18. 100 IF H>30 THEN 470
  19. 110 IF H<0 THEN 470
  20. 120 PRINT"DIFFICULTIES AT GOLF INCLUDE:"
  21. 130 PRINT"0=HOOK, 1=SLICE, 2=POOR DISTANCE, 4=TRAP SHOTS, 5=PUTTING"
  22. 140 PRINT "WHICH ONE (ONLY) IS YOUR WORST";
  23. 150 INPUT T
  24. 160 IF T>5 THEN 120
  25. 170  LET S1=0
  26. 230  LET L(0)=0
  27. 240  LET J=0
  28. 245  LET Q=0
  29. 250  LET S2 = S2+1
  30. 260  LET K=0
  31. 270 IF F=1 THEN 310
  32. 290 PRINT"YOUR SCORE ON HOLE ";F-1;"WAS ";S1;"  (PAR ";P;")"
  33. 291 GO TO 1750
  34. 292 IF S1>P+2 THEN 297
  35. 293 IF S1=P THEN 299
  36. 294 IF S1=P-1 THEN 301
  37. 295 IF S1=P-2 THEN 303
  38. 296 GO TO  310
  39. 297 PRINT"KEEP YOUR HEAD DOWN."
  40. 298 GO TO 310
  41. 299 PRINT"A PAR. NICE GOING."
  42. 300 GO TO 310
  43. 301 PRINT "A BIRDIE"
  44. 302 GO TO 310
  45. 303 IF P=3 THEN 306
  46. 304 PRINT"A GREAT BIG EAGLE:"
  47. 305 GO TO 310
  48. 306 PRINT "A HOLE IN ONE"
  49. 310 IF F=19 THEN 1710
  50. 315  LET S1=0
  51. 316 PRINT
  52. 320 IF S1=0 THEN 1590
  53. 330 IF L(0)<1 THEN 1150
  54. 340  LET X=0
  55. 350 IF L(0)>5 THEN 1190
  56. 360 PRINT "SHOT WENT ";D1;"YARDS.  IT'S ";D2;"YARDS FROM THE CUP."
  57. 362 PRINT"BALL IS ";INT(O);"YARDS OFF LINE...IN ";
  58. 380 GOSUB 400
  59. 390 GOTO 620
  60. 400 IF L(X)=1 THEN 480
  61. 410 IF L(X)=2 THEN 500
  62. 420 IF L(X)=3 THEN 520
  63. 430 IF L(X)=4 THEN 540
  64. 440 IF L(X)=5 THEN 560
  65. 450 IF L(X)=6 THEN 580
  66. 460 PRINT"OUT OF BOUNDS"
  67. 465 GOTO 1690
  68. 470 PRINT"PGA RULES HANDICAP = 0 TO 30"
  69. 472 GOTO 150
  70. 480 PRINT"FAIRWAY"
  71. 490 GOTO 1690
  72. 500 PRINT"ROUGH"
  73. 510 GOTO 1690
  74. 520 PRINT"TREES"
  75. 530 GOTO 1690
  76. 540 PRINT"ADJACENT FAIRWAY"
  77. 550 GOTO 1690
  78. 560 PRINT"TRAP"
  79. 570 GOTO 1690
  80. 580 PRINT"WATER"
  81. 590 GOTO 1690
  82. 620 IF A=1 THEN 629
  83. 621 PRINT"SELECTION OF CLUBS"
  84. 622 PRINT"YARDAGE DESIRED                   SUGGESTED CLUBS"
  85. 623 PRINT"200 TO 280 YARDS                      1 TO  4"
  86. 624 PRINT"100 TO 200 YARDS                     19 TO 13"
  87. 625 PRINT"  0 TO 100 YARDS                     29 TO 23"
  88. 626  LET A=1
  89. 629 PRINT "WHAT CLUB DO YOU CHOOSE";
  90. 630 INPUT C
  91. 632 PRINT
  92. 635 IF C<1 THEN 690
  93. 637 IF C>29 THEN 690
  94. 640 IF C>4 THEN 710
  95. 650 IF L(0)<5 THEN 740
  96. 660 IF C=14 THEN 740
  97. 665 IF C=23 THEN 740
  98. 670 GOTO 690
  99. 680  LET S1 = S1-1
  100. 690 PRINT"THAT CLUB IS NOT IN THE BAG."
  101. 693 PRINT
  102. 700 GOTO 620
  103. 710 IF C<12 THEN 690
  104. 720  LET C=C-6
  105. 730 GOTO 650
  106. 740  LET S1 = S1+1
  107. 741  LET W=1
  108. 742 IF C>13 THEN 960
  109. 746 IF INT(F/3)=F/3 THEN 952
  110. 752 IF C<4 THEN 756
  111. 754 GOTO 760
  112. 756 IF L(0)=2 THEN 862
  113. 760 IF S1>7 THEN 867
  114. 770  LET D1=INT(((30-H)*2.5+187-((30-H)*.25+15)*C/2)+25*RND)
  115. 780  LET D1=INT(D1*W)
  116. 800 IF T=2 THEN 1170
  117. 820 LET T7=(SIN(D1*.0035))/(COS(D1*.0035))
  118. 830 LET O=(RND/.8)*(2*H+16)*ABS(T7)
  119. 840  LET D2=INT(SQR(O^2+ABS(D-D1)^2))
  120. 850 IF D-D1<0THEN 870
  121. 860 GOTO 890
  122. 862 PRINT"YOU DUBBED IT."
  123. 864  LET D1=35
  124. 866 GOTO 830
  125. 867 IF D<200 THEN 1300
  126. 868 GOTO 770
  127. 870 IF D2<20 THEN 890
  128. 880 PRINT"TOO MUCH CLUB.  YOU'RE PAST THE HOLE."
  129. 890  LET B=D
  130. 900  LET D=D2
  131. 910 IF D2>27 THEN 1020
  132. 920 IF D2>20 THEN 1100
  133. 930 IF D2>.5 THEN 1120
  134. 940  LET L(0)=9
  135. 950 GOTO 1470
  136. 952 IF S2+Q+(10*(F-1)/18)<(F-1)*(72+((H+1)/.85))/18 THEN 956
  137. 954 GOTO 752
  138. 956  LET Q = Q+1
  139. 957 IF S1/2<>INT(S1/2) THEN 1011
  140. 958 GOTO 862
  141. 960 PRINT"YOU MAY NOW GUAGE YOUR DISTANCE BY PERCENT .01 TO .99"
  142. 961 PRINT"PERCENT FULL SWING ";
  143. 970 INPUT W
  144. 972 PRINT
  145. 980 IF W>1 THEN 680
  146. 985 IF L(0) = 5 THEN 1280
  147. 990 IF C=14 THEN 760
  148. 1000  LET C = C-10
  149. 1010 GOTO 760
  150. 1011 IF D<95 THEN 862
  151. 1012 PRINT"BALL HIT TREE - BOUNCED INTO ROUGH ";D-75;"YARDS FROM HOLE."
  152. 1014  LET D=D-75
  153. 1018 GOTO 620
  154. 1020 IF O<30 THEN 1150
  155. 1022 IF J>0 THEN 1150
  156. 1030 IF T>0 THEN 1070
  157. 1035  LET S9=(S2+1)/15
  158. 1036 IF INT(S9)=S9 THEN 1075
  159. 1040 PRINT"YOU HOOKED- ";
  160. 1050  LET L(0)=L(2)
  161. 1055 IF O>45 THEN 1092
  162. 1060 GOTO 320
  163. 1070  LET S9=(S2+1)/15
  164. 1071 IF INT(S9)=S9 THEN 1040
  165. 1075 PRINT"YOU SLICED- ";
  166. 1080  LET L(0)=L(1)
  167. 1090 GOTO 1055
  168. 1092 PRINT"BADLY."
  169. 1094 GOTO 320
  170. 1100  LET L(0)=5
  171. 1110 GOTO 320
  172. 1120  LET L(0)=8
  173. 1130  LET D2=INT(D2*3)
  174. 1140 GOTO 1380
  175. 1150  LET L(0)=1
  176. 1160 GOTO 320
  177. 1170  LET D1=INT(.85*D1)
  178. 1180 GOTO 830
  179. 1190 IF L(0)>6 THEN 1260
  180. 1200 PRINT"YOUR SHOT WENT INTO WATER."
  181. 1210  LET S1 = S1+1
  182. 1220 PRINT"PENALTY STROKE ASSESSED. HIT FROM PREVIOUS LOCATION."
  183. 1230  LET J=J+1
  184. 1240  LET L(0)=1
  185. 1242  LET D=B
  186. 1250 GOTO 620
  187. 1260 PRINT"YOUR SHOT WENT OUT OF BOUNDS."
  188. 1270 GOTO 1210
  189. 1280 IF T=3 THEN 1320
  190. 1300  LET D2=1+(3*INT((80/(40-H))*RND))
  191. 1310 GOTO 1380
  192. 1320 IF RND>N THEN 1360
  193. 1330  LET N=N*.2
  194. 1340 PRINT"SHOT DUBBED, STILL IN TRAP."
  195. 1350 GOTO 620
  196. 1360  LET N=.8
  197. 1370 GOTO 1300
  198. 1380 PRINT"ON THE GREEN ";D2;"FEET FROM THE PIN."
  199. 1381 PRINT"CHOOSE YOUR PUTT DISTANCE BY POTENCY NUMBER 1 TO 13."
  200. 1382 PRINT "PUTT POTENCY NUMBER";
  201. 1400 INPUT I
  202. 1410  LET S1 = S1+1
  203. 1420 IF S1+1-P>(H*.072)+2 THEN 1470
  204. 1425 IF K>2 THEN 1470
  205. 1428  LET K=K+1
  206. 1430 IF T=4 THEN 1530
  207. 1440  LET D2=D2-I*(4+2*RND)+1.5
  208. 1450 IF D2<-2 THEN 1560
  209. 1460 IF D2>2 THEN 1500
  210. 1470 PRINT"YOU HOLED IT"
  211. 1472 PRINT
  212. 1480  LET F=F+1
  213. 1490 GOTO 230
  214. 1500 PRINT"PUTT SHORT."
  215. 1505  LET D2=INT(D2)
  216. 1510 GOTO 1380
  217. 1530  LET D2=D2-I*(4+1*RND)+1
  218. 1550 GOTO 1450
  219. 1560 PRINT"PASSED BY CUP."
  220. 1570  LET D2=-D2
  221. 1580 GOTO 1505
  222. 1590 READ D,P,L(1),L(2)
  223. 1595 PRINT
  224. 1600 PRINT"YOU ARE AT TEE OF HOLE ";F;" DISTANCE ";D;"YARDS, PAR ";P
  225. 1605  LET G3=G3+P
  226. 1620 PRINT"ON YOUR RIGHT IS ";
  227. 1630  LET X=1
  228. 1640 GOSUB 400
  229. 1650 PRINT"ON YOUR LEFT IS ";
  230. 1660  LET X=2
  231. 1670 GOSUB 400
  232. 1680 GOTO 620
  233. 1690 RETURN
  234. 1700 DATA 361,4,4,2,389,4,3,3,206,3,4,2,500,5,7,2
  235. 1702 DATA 408,4,2,4,359,4,6,4,424,4,4,2,388,4,4,4
  236. 1704 DATA 196,3,7,2,400,4,7,2,560,5,7,2,132,3,2,2
  237. 1706 DATA 357,4,4,4,294,4,2,4,475,5,2,3,375,4,4,2
  238. 1708 DATA 180,3,6,2,550,5,6,6
  239. 1710 PRINT
  240. 1750  LET G2=G2+S1
  241. 1760 PRINT"TOTAL PAR FOR ";F-1;"HOLES IS ";G3;" YOUR TOTAL IS ";G2
  242. 1761 IF G1=F-1 THEN 1770
  243. 1765 GOTO 292
  244. 1770 END
  245.