Advertisement
mattmcgrath

golf.bas

Feb 15th, 2017
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1. 100 RANDOMIZE
  2. 110 DIM X(20)
  3. 160 PRINT "DIRECTIONS FOR GOLF"
  4. 170 PRINT
  5. 180 PRINT "YOU HAVE A CHOICE OF 9 CLUBS"
  6. 190 PRINT "WHEN THE COMPUTER TELLS YOU TO CHOSE YOUR CLUB"
  7. 200 PRINT "INPUT 1 FOR A DRIVER - RANGE OF 150 TO 270 YARDS"
  8. 210 PRINT " 2 3 WOOD - 150 TO 220 YARDS"
  9. 220 PRINT " 3 5 WOOD - 140 TO 180 YARDS"
  10. 230 PRINT " 4 6 IRON - 120 TO 180 YARDS GOOD FROM TRAP"
  11. 240 PRINT " 5 7 IRON - 100 TO 130 YARDS GOOD FROM ROUGH"
  12. 250 PRINT " 6 8 IRON - 70 TO 100 YARDS GOOD FROM TRAP"
  13. 260 PRINT " 7 9 IRON - 30 TO 70 YARDS GOOD FROM TRAP"
  14. 270 PRINT " 8 WEDGE 1 TO 30 YARDS GOOD FROM TRAP"
  15. 280 PRINT " 9 PUTTER - USE WHEN ON GREEN"
  16. 290 PRINT ""
  17.  
  18.  
  19. 300 PRINT "HOW MANY PLAYERS ARE PLAYING TODAY";
  20. 301 INPUT U
  21. 302 PRINT
  22. 310 IF U <= 4 THEN 340
  23. 320 PRINT "ONLY FOUR ARE ALLOWED"
  24. 330 GOTO 300
  25. 340 PRINT
  26. 350 DATA 360, 4, 585, 5, 400, 4, 185, 3, 415, 4, 375, 4, 219, 3
  27. 360 DATA 395, 4, 630, 5, 330, 4, 610, 5, 440, 4, 180, 3, 420, 4, 595, 5, 195, 3
  28. 370 DATA 450, 4, 370, 4
  29. 380 DIM A(18)
  30. 390 DIM P(18)
  31. 400 FOR R = 1 TO 18
  32. 410 READ A(R), P(R)
  33. 420 NEXT R
  34. 430 DIM M(4, 18)
  35. 440 DIM N(10)
  36. 450 PRINT "HOW MANY HOLES, UP TO 18"
  37. 451 INPUT V
  38. 460 PRINT
  39. 470 FOR J = 1 TO V
  40. 480 FOR Q = 1 TO U
  41. 490 LET H = A(J)
  42. 500 PRINT "HOLE NUMBER"; J; "IS"; H; "YARDS PAR"; P(J)
  43. 510 LET K = 0
  44. 520 LET T = 0
  45. 530 LET T2 = 0
  46. 540 PRINT "PLAYER NUMBER"; Q; "CHOOSE YOUR CLUB"
  47. 550 INPUT X
  48.  
  49. 560 IF X = 9 THEN GOTO 880
  50. 570 LET K = K + 1
  51. 580 IF X = 0 THEN GOTO 930
  52. 590 GOTO 1340
  53. 600 IF X = 9 THEN 970
  54. 610 LET D = X
  55. 620 IF H <> X(D) THEN GOTO 630
  56. 621 IF K <> 1 THEN GOTO 990
  57. 622 PRINT "HOLE IN ONE!!!"
  58. 623 GOTO 990
  59. 630 PRINT "DISTANCE OF SHOT IS"; X(D); "YARDS"
  60. 640 LET L = INT(RND(1) * 100)
  61. 650 IF L = 99 THEN GOTO 670
  62. 651 IF L = 43 THEN GOTO 670
  63. 652 IF L = 88 THEN GOTO 670
  64. 660 IF L <> 25 THEN GOTO 760
  65. 670 PRINT "IN TRAP"
  66. 671 LET C = ABS(H - X(D))
  67. 672 GOTO 680
  68. 680 LET L8 = INT(RND(1) * 10)
  69. 690 IF L8 > 3 THEN GOTO 680
  70. 691 IF L8 = 1 THEN GOTO 850
  71. 700 LET T2 = 0
  72. 710 FOR Z = 1 TO L8
  73. 720 LET T2 = T2 + 1
  74. 730 PRINT "CHOSE YOUR CLUB"
  75. 731 INPUT X
  76. 740 PRINT "STILL IN TRAP"
  77. 741 NEXT Z
  78. 750 GOTO 850
  79. 760 IF L = 13 THEN GOTO 780
  80. 761 IF L = 88 THEN GOTO 780
  81. 770 IF L <> 25 THEN GOTO 800
  82. 780 PRINT "IN ROUGH"
  83. 781 LET C = ABS(H - X(D))
  84. 782 GOTO 850
  85. 790 IF L = 69 THEN 810
  86. 791 IF L = 73 THEN GOTO 810
  87. 792 IF L = 41 THEN GOTO 810
  88. 800 IF L <> 75 THEN GOTO 830
  89. 810 PRINT "IN WATER"
  90. 811 LET T = T + 1
  91. 812 PRINT "YOU LOSE 1 STROKE"
  92. 813 LET C = ABS(H - X(D))
  93. 820 GOTO 850
  94. 830 LET C = ABS(H - X(D))
  95. 840 IF C < 30 THEN GOTO 930
  96. 850 PRINT "DISTANCE REMAINING TO PIN IS"; C; "YARDS"
  97. 860 LET H = C
  98. 870 GOTO 540
  99. 880 LET C = A(J)
  100. 890 IF C > 30 THEN GOTO 910
  101. 900 GOTO 970
  102. 910 PRINT "YOU ARE NOT ON THE GREEN CHOOSE ANOTHER CLUB"
  103. 920 GOTO 550
  104. 930 PRINT "PLAYER NUMBER"; Q; "IS ON THE GREEN CHOOSE YOUR CLUB"
  105. 940 INPUT X
  106. 950 LET D = X
  107. 960 GOTO 590
  108. 970 PRINT X(D); "PUTTS"
  109. 980 LET M(Q, J) = K + X(9) + T + T2
  110. 981 GOTO 1000
  111. 990 LET M(Q, J) = K
  112. 991 PRINT "YOU SUNK THE SHOT"
  113. 1000 PRINT M(Q, J); "STROKES FOR HOLE NUMBER"; J; "FOR PLAYER"; Q
  114. 1010 NEXT Q
  115. 1011 PRINT
  116. 1012 PRINT
  117. 1020 NEXT J
  118. 1030 FOR W = 1 TO V
  119. 1040 LET N(1) = M(1, W) + N(1)
  120. 1050 LET N(2) = M(2, W) + N(2)
  121. 1060 LET N(3) = M(3, W) + N(3)
  122. 1070 LET N(4) = M(4, W) + N(4)
  123. 1080 LET E = P(W) + E
  124. 1090 NEXT W
  125. 1100 FOR S = 1 TO U
  126. 1110 PRINT "PLAYER NUMBER"; S; "SHOT"; N(S); "FOR"; V; "HOLES PAR IS "; E
  127. 1120 NEXT S
  128. 1130 GOTO 1440
  129.  
  130. 1140 LET X(2) = INT(130 * RND(1) + 150)
  131. 1150 GOTO 600
  132.  
  133. 1160 LET X(1) = INT(90 * RND(1) + 180)
  134. 1170 GOTO 600
  135.  
  136. 1180 LET X(3) = INT(40 * RND(1) + 140)
  137. 1190 GOTO 600
  138.  
  139. 1200 LET X(4) = INT(60 * RND(1) + 120)
  140. 1210 GOTO 600
  141.  
  142. 1220 LET X(5) = INT(30 * RND(1) + 100)
  143. 1230 GOTO 600
  144.  
  145. 1240 LET X(6) = INT(30 * RND(1) + 70)
  146. 1250 GOTO 600
  147.  
  148. 1260 LET X(7) = INT(40 * RND(1) + 30)
  149. 1270 GOTO 600
  150.  
  151. 1280 LET X(8) = INT(30 * RND(1) + 1)
  152. 1290 IF X(8) < 1 THEN GOTO 1280
  153. 1291 PRINT " mmmm...open faced club sand wedge"
  154. 1300 GOTO 600
  155.  
  156. 1310 LET X(9) = INT(3 * RND(1) + 1)
  157. 1320 GOTO 600
  158. 1330 STOP
  159.  
  160. 1340 IF X = 1 THEN GOTO 1160
  161. 1350 IF X = 2 THEN GOTO 1140
  162. 1360 IF X = 3 THEN GOTO 1180
  163. 1370 IF X = 4 THEN GOTO 1200
  164. 1380 IF X = 5 THEN GOTO 1220
  165. 1390 IF X = 6 THEN GOTO 1240
  166. 1400 IF X = 7 THEN GOTO 1260
  167. 1410 IF X = 8 THEN GOTO 1280
  168. 1420 IF X = 9 THEN GOTO 1310
  169. 1430 GOTO 600
  170. 1440 END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement