home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG013.ARK / WUMPAS.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  6KB  |  198 lines

  1. 5 FOR I=1 TO 10:PRINT:NEXT I:PRINT TAB(30);"**** WUMPAS ****"
  2. 10 FOR I=1 TO 10:PRINT:NEXT I
  3. 15 DIM P(5)
  4. 20 INPUT"INSTRUCTIONS ";I$
  5. 40 IF LEFT$(I$,1)="N" THEN 70
  6. 50 IF LEFT$(I$,1)="Y" THEN 60
  7. 55 PRINT"YES OR NO":GOTO 20
  8. 60 GOSUB 1000
  9. 61 INPUT"MORE INSTRUCTIONS ? ";I$
  10. 62 IF LEFT$(I$,1)="N" THEN 70
  11. 63 IF LEFT$(I$,1)="Y" THEN 65
  12. 64 PRINT"YES OR NO":GOTO 61
  13. 65 GOSUB 1240
  14. 66 INPUT"DO YOU UNDERSTAND THE INSTRUCTIONS ?";I$
  15. 67 IF LEFT$(I$,1)="N" THEN 60
  16. 68 IF LEFT$(I$,1)="Y" THEN 70
  17. 69 PRINT"YES OR NO":GOTO 66
  18. 70 DIM S(20,3)
  19. 80 FOR J=1 TO 20
  20. 90 FOR K=1 TO 3
  21. 100 READ S(J,K)
  22. 110 NEXT K
  23. 120 NEXT J
  24. 130 DATA 2,5,8,1,3,10,2,4,12,3,5,14,1,4,6
  25. 140 DATA 5,7,15,6,8,17,1,7,9,8,10,18,2,9,11
  26. 150 DATA 10,12,19,3,11,13,12,14,20,4,13,15,6,14,16
  27. 160 DATA 15,17,20,7,16,18,9,17,19,11,18,20,13,16,19
  28. 170 DEF FNA(X)=INT(20*RND)+1
  29. 180 DEF FNB(X)=INT(3*RND)+1
  30. 190 DEF FNC(X)=INT(4*RND)+1
  31. 220 DIM L(6),M(6)
  32. 240 FOR J=1 TO 6
  33. 250 L(J)=FNA(1)
  34. 260 M(J)=L(J)
  35. 270 NEXT J
  36. 290 FOR J=1 TO 6
  37. 300 FOR K=J TO 6
  38. 310 IF J=K THEN 330
  39. 320 IF L(J)=L(K) THEN 240
  40. 330 NEXT K
  41. 340 NEXT J
  42. 360 A=5
  43. 365 LL=L(1)
  44. 375 PRINT"HUNT THE WUMPUS"
  45. 390 GOSUB 2000
  46. 410 GOSUB 2500
  47. 420 ON O GOTO 440,480
  48. 440 GOSUB 3000
  49. 450 IF F=0 THEN 390
  50. 460 GOTO 500
  51. 480 GOSUB 4000
  52. 490 IF F=0 THEN 390
  53. 500 IF F>0 THEN 550
  54. 520 PRINT"HA HA HA!  YOU LOSE!!"
  55. 530 GOTO 560
  56. 550 PRINT"HEE HEE HEE - THE WUMPUS GETCHA NEXT TIME!!"
  57. 560 FOR J=1 TO 6
  58. 570 L(J)=M(J)
  59. 580 NEXT J
  60. 590 INPUT"SAME SET UP ";I$
  61. 595 IF LEFT$(I$,1)="N" THEN 240
  62. 600 IF LEFT$(I$,1)="Y" THEN 360
  63. 605 PRINT"YES OR NO":GOTO 590
  64. 1000 REM INSTRUCTIONS
  65. 1010 PRINT"WELCOME TO 'HUNT THE WUMPUS'"
  66. 1020 PRINT"  THE WUMPUS LIVE IN A CAVE OF 20 ROOMS.  EACH ROOM"
  67. 1030 PRINT"HAS THREE TUNNELS LEADING TO OTHER ROOMS."
  68. 1070 PRINT:PRINT"     HAZARDS:"
  69. 1080 PRINT"BOTTOMLESS PITS - TWO ROOMS HAVE BOTTOMLESS PITS IN THEM"
  70. 1090 PRINT"    IF YOU GO THERE YOU FALL INTO THE PIT  (& LOSE!)"
  71. 1100 PRINT"SUPER BATS - TWO OF THE ROOMS HAVE SUPER BATS. IF YOU"
  72. 1110 PRINT"    GO THERE, A BAT GRABS YOU AND TAKES YOU TO SOME OTHER"
  73. 1120 PRINT"    ROOM AT RANDOM. (WHICH MIGHT BE TROUBLESOME)"
  74. 1140 PRINT:PRINT"    WUMPUS:"
  75. 1150 PRINT"THE WUMPUS IS NOT BOTHERED BY THE HAZARDS (HE HAS SUCKER"
  76. 1160 PRINT"FEET AND IS TOO BIG FOR A BAT TO LIFT).  USUALLY"
  77. 1170 PRINT"HE IS ASLEEP. TWO THINGS WAKE HIM UP: YOUR ENETRING"
  78. 1180 PRINT"HIS ROOM OR YOU SHOOTING AN ARROW."
  79. 1190 PRINT"    IF THE WUMPUS WAKES, 75% OF THE TIME HE WILL MOVE ONE"
  80. 1200 PRINT"ROOM.  THE REST OF THE TIME HE STAYS STILL.  AFTER THAT"
  81. 1210 PRINT"IF HE IS WHERE YOU ARE, HE EATS YOU UP!! (& YOU LOSE!!)"
  82. 1230 PRINT
  83. 1235 RETURN
  84. 1238 PRINT"    YOU:"
  85. 1240 PRINT"EACH TURN YOU MAY MOVE OR SHOOT A CROOKED ARROW."
  86. 1250 PRINT"  MOVING: YOU CAN GO ONE ROOM (THROUGH ONE TUNNEL)"
  87. 1260 PRINT"  ARROWS: YOU HAVE 5 ARROWS. YOU LOSE WHEN YOU RUN OUT."
  88. 1270 PRINT"  EACH ARROW CAN GO FROM 1 TO 5 ROOMS. YOU AIM BY TELLING"
  89. 1280 PRINT"  THE COMPUTER THE ROOM'S YOU WANT THE ARROW TO GO TO."
  90. 1290 PRINT"  IF THE ARROW CAN'T GO THAT WAY (I.E.  NO TUNNEL) IT MOVES"
  91. 1300 PRINT"  AT RANDOM TO THE NEXT ROOM."
  92. 1310 PRINT"    IF THE ARROW HITS THE WUMPUS, YOU WIN."
  93. 1320 PRINT"    IF THE ARROW HITS YOU, YOU LOSE."
  94. 1340 PRINT:PRINT"    WARNINGS:"
  95. 1350 PRINT"     WHEN YOU ARE ONE ROOM AWAY FROM A WUMPUS OR HAZARD,"
  96. 1360 PRINT"    THE COMPUTER SAYS:"
  97. 1370 PRINT"WUMPUS - 'I SMELL A WUMPUS'"
  98. 1380 PRINT"BAT  -  'BATS NEARBY'"
  99. 1390 PRINT"PIT  -  'I FEEL A DRAFT'"
  100. 1400 PRINT:RETURN
  101. 2000 REM
  102. 2010 PRINT
  103. 2020 FOR J=2 TO 6
  104. 2030 FOR K=1 TO 3
  105. 2040 IF S(L(1),K)<>L(J) THEN 2110
  106. 2050 ON J-1 GOTO 2060,2080,2080,2100,2100
  107. 2060 PRINT"I SMELL A WUMPUS"
  108. 2070 GOTO 2100
  109. 2080 PRINT"I FEEL A DRAFT"
  110. 2090 GOTO 2110
  111. 2100 PRINT"BATS NEARBY"
  112. 2110 NEXT K
  113. 2120 NEXT J
  114. 2130 PRINT"YOU ARE IN ROOM ";LL
  115. 2140 PRINT"TUNNELS LEAD TO ";S(LL,1);",";S(LL,2);",";S(LL,3)
  116. 2150 PRINT
  117. 2160 RETURN
  118. 2500 REM
  119. 2510 INPUT"SHOOT OR MOVE ";I$
  120. 2530 IF LEFT$(I$,1)<>"S" THEN 2560
  121. 2540 O=1
  122. 2550 RETURN
  123. 2560 IF LEFT$(I$,1)<>"M" THEN 2510
  124. 2570 O=2
  125. 2580 RETURN
  126. 2590 IF LEFT$(I$,1)<>"M" THEN 2510
  127. 3000 REM
  128. 3010 F=0
  129. 3040 INPUT"NUMBER OF ROOMS(1-5)";J9
  130. 3060 IF J9<1 OR J9>5 OR J9<>INT(J9) THEN 3040
  131. 3070 FOR K=1 TO J9
  132. 3080 INPUT"ROOM # ";P(K)
  133. 3095 IF K<=2 THEN 3115
  134. 3100 IF P(K)<>P(K-2) THEN 3115
  135. 3105 PRINT"ARROWS AREN'T THAT CROOKED. TRY ANOTHER ROOM.":GOTO 3080
  136. 3115 NEXT K
  137. 3120 REM
  138. 3130 LL=L(1)
  139. 3140 FOR K=1 TO J9
  140. 3150 FOR K1=1 TO 3
  141. 3160 IF S(LL,K1)=P(K) THEN 3295
  142. 3170 NEXT K1
  143. 3180 REM
  144. 3190 LL=S(LL,FNB(1))
  145. 3200 GOTO 3300
  146. 3210 NEXT K
  147. 3220 PRINT"MISSED"
  148. 3225 LL=L(1)
  149. 3230 REM
  150. 3240 GOSUB 3370
  151. 3250 REM
  152. 3260 A=A-1
  153. 3265 IF A>0 THEN 3280
  154. 3270 F=-1
  155. 3280 RETURN
  156. 3290 REM
  157. 3295 LL=P(K)
  158. 3300 IF LL<>L(2) THEN 3340
  159. 3310 PRINT"AHA!  YOU GOT THE WUMPUS!"
  160. 3320 F=1
  161. 3330 RETURN
  162. 3340 IF LL<>L(1) THEN 3210
  163. 3350 PRINT"OUCH!! ARROW GOT YOU"
  164. 3360 GOTO 3270
  165. 3370 REM
  166. 3380 K=FNC(0)
  167. 3390 IF K=4 THEN 3410
  168. 3400 L(2)=S(L(2),K)
  169. 3410 IF L(2)<>LL THEN 3440
  170. 3420 PRINT"TSK TSK TSK - THE WUMPUS GOT YOU!"
  171. 3430 F=-1
  172. 3440 RETURN
  173. 4000 REM
  174. 4010 F=0
  175. 4020 INPUT"WHERE TO ";LL
  176. 4040 IF LL<1 OR LL>20 OR LL<>INT(LL) THEN 4020
  177. 4050 FOR K=1 TO 3
  178. 4070 IF S(L(1),K)=LL THEN 4130
  179. 4080 NEXT K
  180. 4090 IF LL=L(1) THEN 4130
  181. 4100 PRINT"NOT POSSIBLE -";
  182. 4110 GOTO 4020
  183. 4130 L(1)=LL
  184. 4150 IF LL<>L(2) THEN 4220
  185. 4160 PRINT"... OOPS! BUMPED A WUMPUS!!"
  186. 4180 GOSUB 3380
  187. 4190 IF F=0 THEN 4220
  188. 4200 RETURN
  189. 4220 IF LL<>L(3) AND LL<>L(4) THEN 4270
  190. 4230 PRINT"YYYIIIIEEEE . . . FELL INTO PIT"
  191. 4240 F=-1
  192. 4250 RETURN
  193. 4270 IF LL<>L(5) AND LL<>L(6) THEN 4310
  194. 4280 PRINT"SUPER BAT SNATCH! ELSEWHEREVILLE FOR YOU!"
  195. 4290 LL=FNA(1)
  196. 4300 GOTO 4130
  197. 4310 RETURN
  198.