home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / TEXT_ADV.DSK / ADV.CAVES.bas next >
BASIC Source File  |  2014-09-09  |  8KB  |  198 lines

  1. 0  PRINT : GOSUB 1200
  2. 1 TI = 0:T4 = 500
  3. 4  PRINT : FOR I = 0 TO 39: PRINT "*";: NEXT 
  4. 5  PRINT 
  5. 7  GOSUB 2110
  6. 19  DIM V$(28),P(1),T(10,4,1),A(10,3),Q(3),S(10)
  7. 30  FOR I = 0 TO 10: FOR J = 0 TO 4: FOR K = 0 TO 1: READ T(I,J,K): NEXT K,J,I
  8. 36 A(3,0) = 1:A(0,0) = 2:A(6,0) = 3:A(1,0) = 4:A(8,0) = 5:A(1,1) = 6:A(7,0) = 7
  9. 37 P(0) = .3:P(1) = .5
  10. 40  FOR I = 1 TO 28: READ V$(I): NEXT 
  11. 100  PRINT : GOSUB 1200
  12. 105  GOSUB 1500
  13. 107  PRINT 
  14. 110 N$ = "": INPUT "COMMAND=";D$:H =  LEN(D$):TI = TI +1000:KK = KK +1
  15. 111  IF  LEFT$(D$,1) = " "  THEN  PRINT "11": GOTO 110
  16. 112  FOR I = 1 TO H: IF  MID$ (D$,I,1) < >" "  THEN  NEXT 
  17. 115 U = 99:B = I: IF I >5  THEN B = 5
  18. 116 C$ =  LEFT$(D$,B -1): IF I > = H  THEN 120
  19. 117 B = H -I: IF B >4  THEN B = 4
  20. 118 E$ =  RIGHT$(D$,H -I):N$ =  LEFT$(E$,B)
  21. 120  GOSUB 1100
  22. 125  IF I = 0  THEN  PRINT : PRINT "I DON'T UNDERSTAND ";D$: GOTO 110
  23. 126  IF I < >14  THEN 130
  24. 127  GOSUB 2000
  25. 128  GOTO 398
  26. 130  IF I < >13  THEN 133
  27. 131  PRINT "OK!": GOSUB 2112
  28. 132  GOTO 100
  29. 133  IF I < >15  THEN 139
  30. 135  PRINT : PRINT "I HOPE YOU HAVE ENJOYED YOUR STAY": GOSUB 2000
  31. 137  END 
  32. 139 O = 6: GOSUB 2183
  33. 140  IF B < >4  THEN U = L
  34. 143 V = I: IF V >15  THEN 172
  35. 144  IF U = 99  THEN F = L
  36. 146  GOSUB 1000
  37. 148 R =  RND(1): IF M <100  THEN L = M: GOTO 390
  38. 150 M1 =  INT(M/100):M2 = M -M1 *100:M3 =  INT(M1/10):M4 = M1 -M3 *10: IF M4 = 0  THEN 160
  39. 157  IF R <P(M4 -1)  THEN L = M2: GOTO 390
  40. 158  IF M3 <50  THEN L = M3: GOTO 390
  41. 159 M2 = M3 -50
  42. 160  GOSUB 1400
  43. 165  GOTO 398
  44. 172  IF N$ = ""  THEN  PRINT : PRINT C$;" WHAT?": GOTO 110
  45. 173 C$ = N$: GOSUB 1100
  46. 175  IF I = 0  THEN 125
  47. 178 O = I -20: IF V < >16  THEN 190
  48. 179  IF O = 6  THEN  PRINT : PRINT "YOU'RE KIDDING!": GOTO 398
  49. 180  IF U < >99  AND O >2  THEN 390
  50. 183  GOSUB 2183
  51. 184  IF B = 4  AND O = 8  THEN O = 7: GOSUB 2183
  52. 185  IF B = 4  THEN  PRINT "IF THERE'S A ";E$;" HERE, YOU CAN'T GET IT": GOTO 398
  53. 186 O1 = O:O = 0: GOSUB 2193
  54. 188  IF C = 4  THEN  PRINT : PRINT "YOUR HANDS ARE FULL": GOTO 398
  55. 189 O = O1:A(L,B) = 0:Q(C) = O: PRINT : PRINT "OK": GOTO 398
  56. 190  IF V < >17  THEN 230
  57. 191  GOSUB 2193
  58. 193  IF C = 4  AND O = 8  THEN O = 7: GOSUB 2193
  59. 196  IF C = 4  THEN 238
  60. 197 O1 = O:O = 0: GOSUB 2183
  61. 199  IF B = 4  THEN  PRINT : PRINT "NO MORE ROOM HERE": GOTO 398
  62. 200 I = B:O = O1:A(L,I) = O:Q(C) = 0: IF O < >1  THEN 300
  63. 201 O = 6: GOSUB 2183
  64. 203  IF B = 4  THEN 390
  65. 204 A(L,B) = 0: PRINT : PRINT "AMAZINGLY THE DRAGON IS TERRIFIED OF KITTENS"
  66. 205  PRINT " HE HAS FLOWN OFF ELSEWHERE IN THE CAVE "
  67. 210 R =  INT( RND(1) *10)
  68. 215  FOR B = 0 TO 3: IF A(R,B) = 0  THEN 218
  69. 216  NEXT 
  70. 217  GOTO 210
  71. 218  IF R = L  THEN 210
  72. 220 A(R,B) = 6:F = U:U = 99
  73. 221 M =  RND(1): IF M >0.25  THEN 398
  74. 222  PRINT : PRINT "HOWEVER, THE KITTEN HAS RUN OFF SCARED ":A(L,I) = 0
  75. 223 M =  INT( RND(1) *10): IF M = L  OR M = R  THEN 223
  76. 224  FOR I = 1 TO 3: IF A(M,I) = 0  THEN A(M,I) = 1: GOTO 398
  77. 225  NEXT 
  78. 226  GOTO 223
  79. 230  IF V < >18  THEN 250
  80. 231  GOSUB 2193
  81. 238  IF C = 4  THEN  PRINT : PRINT "YOU HAVE NO ";E$: GOTO 398
  82. 240  IF O = 2  AND T4 = 500  THEN  PRINT : PRINT "THE LAMP IS NOW LIT "
  83. 241 T4 = TI/3600 +15:T3 = 0: GOTO 398
  84. 245  GOTO 270
  85. 250  IF V < >19  THEN 280
  86. 255  GOSUB 2183
  87. 257  IF B = 4  THEN  PRINT "ITS NOT HERE!": GOTO 398
  88. 260  IF O = 6  THEN 179
  89. 265  IF O = 1  THEN S2 = 0: PRINT "YOU'RE SICK AND I WON'T PLAY ANYMORE!": END 
  90. 270  PRINT "YOU CAN'T DO THAT!": GOTO 398
  91. 280  IF V < >20  THEN 398
  92. 285  GOSUB 2193
  93. 287  IF C = 4  THEN 270
  94. 290 E$ = "OIL":O = 7: GOSUB 2193
  95. 291  IF C = 4  THEN 270
  96. 292 Q(C) = 8: PRINT : PRINT "THE LAMP IS REFILLED!"
  97. 294  IF T4 = 600  THEN T4 = 500: GOTO 398
  98. 296 T3 = 0:T4 = TI/3600 +15: GOTO 398
  99. 300  IF O < >7  THEN 398
  100. 310 A(L,B) = 8: PRINT : PRINT "WHOOPS! SPILLED THE OIL ": GOTO 398
  101. 390  IF U = 99  THEN 398
  102. 395  IF L < >F  THEN  PRINT : PRINT "CAN'T YOU SEE THE DRAGON?":L = U
  103. 398  IF L = 0  OR F = 0  OR L = 2  THEN 490
  104. 400 O = 2: GOSUB 2193
  105. 401  IF C < >4  AND T4 <500  THEN 490
  106. 402  GOSUB 2183
  107. 403  IF B < >4  AND T4 <500  THEN 490
  108. 410 L = F: PRINT : PRINT "YOU CAN'T WANDER THE CAVE IN THE DARK!": GOTO 490
  109. 490  IF S(L) = 0  THEN S(L) = 1
  110. 492  IF T4 >TI/3600  THEN 100
  111. 494  IF T3 = 0  THEN  PRINT : PRINT "YOUR LAMP IS BURNING LOW":T3 = T4 +5: GOTO 100
  112. 496  IF TI/3600 >T3  THEN T4 = 600: PRINT : PRINT "YOUR LAMP HAS GONE OUT!"
  113. 499  GOTO 100
  114. 1000 M = 1000: FOR I = 0 TO 4
  115. 1010  IF T(L,I,0) = V  THEN M = T(L,I,1)
  116. 1015  IF T(L,I,0) < >0  THEN  NEXT 
  117. 1020  RETURN 
  118. 1100 I2 = 4:I1 = 28: IF  LEN(C$) = 1  THEN I1 = 11:I2 = 1
  119. 1105  FOR I = I1 TO 1  STEP  -1
  120. 1107  IF C$ =  LEFT$(V$(I),I2)  THEN  RETURN 
  121. 1110  NEXT : RETURN 
  122. 1200  ON L +1 GOSUB 1205,1212,1222,1232,1242,1252,1262,1272,1282,1292,1302
  123. 1202  RETURN 
  124. 1205  PRINT "YOU ARE AT A NARROW CRACK IN SOME ROCKS"
  125. 1206  PRINT "A SIGN SAYS 'THIS WAY IN'": RETURN 
  126. 1212  PRINT "YOU ARE AT A ROUND PIT. A LEDGE LEADS OFF TO THE S": RETURN 
  127. 1222  PRINT "LOST IN THE WOODS, ALL DIRECTIONS LOOK ALIKE": RETURN 
  128. 1232  PRINT "YOU ARE AT A PILE OF RUBBLE AT THE N END OF A LOW"
  129. 1233  PRINT "PASSAGE"
  130. 1234  PRINT "A SIGN SAYS 'MAGIC MAY WORK HERE'": RETURN 
  131. 1242  PRINT "YOU ARE IN A LOW E/W CRAWL WAY. FAINT LIGHT CAN"
  132. 1243  PRINT "BE SEEN OVERHEAD.": RETURN 
  133. 1252  PRINT "YOU'RE IN A GREAT HALL. TO THE N A NARROW CRACK CAN"
  134. 1253  PRINT "BE SEEN. THERE IS A PASSAGE TO THE E. TO THE S A"
  135. 1254  PRINT "CHASM CROSSES THE HALL FROM E TO W.": RETURN 
  136. 1262  PRINT "YOU'RE IN A ROUND CHAMBER. PASSAGES LEAD SEVERAL  WAYS"
  137. 1263  PRINT "IN THE CENTER IS A ROCK PILE REACHING THE CEILING": RETURN 
  138. 1272  PRINT "YOU STAND AT THE N EDGE OF A 3 METER DEEP CHASM"
  139. 1273  PRINT "ABOUT 2 METERS WIDE. THE HALL GOES ON BEYOND.": RETURN 
  140. 1282  PRINT "YOU'RE TEETERING ON THE BRINK OF A 3 METER DEEP"
  141. 1283  PRINT "CHASM. A GREAT HALL IS SEEN BEYOND TO THE NORTH."
  142. 1284  PRINT "PASSAGES RUN E & W": RETURN 
  143. 1292  PRINT "YOU'RE AT THE START OF A STEEP,SMOOTH SLIPPERY"
  144. 1293  PRINT "RAMP GOING DOWN TO THE S & E. IT LOOKS TOO STEEP"
  145. 1294  PRINT "TO CLIMB BACK UP.": RETURN 
  146. 1302  PRINT "LYING BRUISED AND BLEEDING AT THE FOOT OF A 3"
  147. 1303  PRINT "METER HIGH SHEAR WALL, YOU STARE UP AT A DISTANT"
  148. 1304  PRINT "ARCHED ROOF AND PONDER YOUR FATE.": RETURN 
  149. 1400  ON M2 +1 GOSUB 1402,1412,1422
  150. 1401  RETURN 
  151. 1402  PRINT "YOU CAN'T DO THAT HERE!": RETURN 
  152. 1412  PRINT "THAT DIDN'T WORK THIS TIME!": RETURN 
  153. 1422  PRINT "THE WALLS ARE TOO SLIPPERY FOR EASY CLIMBING!": RETURN 
  154. 1500  FOR I = 0 TO 3: IF A(L,I) = 0  THEN 1590
  155. 1530  ON A(L,I) GOTO 1540,1545,1550,1555,1560,1565,1570,1575
  156. 1535  GOTO 1590
  157. 1540  PRINT : PRINT "A CUTE KITTEN SCAMPERS ABOUT UNDER FOOT.": GOTO 1590
  158. 1541  GOTO 1590
  159. 1545  PRINT : PRINT "AN OIL LAMP IS ON THE GROUND.": GOTO 1590
  160. 1550  PRINT : PRINT "A LARGE GOLD NUGGET IS HERE.": GOTO 1590
  161. 1555  PRINT : PRINT "A PILE OF SILVER COINS IS STREWN ABOUT.": GOTO 1590
  162. 1560  PRINT : PRINT "A RUBY GLEAMS NEARBY.": GOTO 1590
  163. 1565  PRINT : PRINT "A LARGE DRAGON BLOCKS YOUR PATH.": GOTO 1590
  164. 1570  PRINT : PRINT "A JAR OF OIL STANDS NEARBY.": GOTO 1590
  165. 1575  PRINT : PRINT "AN EMPTY JAR LIES ON THE GROUND.": GOTO 1590
  166. 1590  NEXT I
  167. 1591  FOR I = 1 TO 40: PRINT "-";
  168. 1592  NEXT I
  169. 1595  RETURN 
  170. 2000 Z = 0: FOR I = 0 TO 10:Z = Z +S(I) *4: NEXT 
  171. 2010  FOR I = 0 TO 3: IF A(0,I) = 1  OR (A(0,I) >2  AND A(0,I) <6)  THEN Z = Z +14
  172. 2012  NEXT : PRINT : PRINT "IN ";KK;" MOVES IN THE CAVE, YOUR SCORE IS ";Z
  173. 2015  RETURN 
  174. 2110  PRINT "EXPLORE A DEEP AND MYSTERIOUS CAVE, BUT WATCH OUT"
  175. 2111  PRINT "FOR THE UNEXPECTED!": PRINT 
  176. 2112  PRINT : PRINT "ENTER COMMANDS SUCH AS -": PRINT " NORTH,UP,IN,GET,DROP,LIGHT,HELP,SCORE,QUIT"
  177. 2113  PRINT : FOR I = 1 TO 40: PRINT "*";: NEXT : RETURN 
  178. 2114  FOR I = 1 TO 50: PRINT "*";
  179. 2115  NEXT : RETURN 
  180. 2183  FOR B = 0 TO 3: IF A(L,B) = O  THEN  RETURN 
  181. 2184  NEXT : RETURN 
  182. 2193  FOR C = 0 TO 3: IF Q(C) = O  THEN  RETURN 
  183. 2194  NEXT : RETURN 
  184. 9010  DATA 10,4,1,2,2,2,3,2,4,2
  185. 9011  DATA 2,8,5,6,7,6,9,51203,8,5
  186. 9012  DATA 1,02100,2,02100,3,02100,4,02100,0,0
  187. 9013  DATA 2,4,6,52109,8,52109,9,51201,0,0
  188. 9014  DATA 3,3,4,5,6,0,8,0,11,0
  189. 9015  DATA 1,6,2,7,3,4,8,4,9,51108
  190. 9016  DATA 1,06205,4,06205,6,1,7,6,8,1
  191. 9017  DATA 1,5,5,10,8,10,7,10208,5,10
  192. 9018  DATA 3,9,4,1,5,10,8,10,7,10107
  193. 9019  DATA 1,8,2,3,5,3,7,3,3,3
  194. 9020  DATA 8,52107,9,51104,6,10,7,10,0,0
  195. 9100  DATA NORT,SOUT,EAST,WEST,DOWN,UP,JUMP,CLIM,MAGI,IN,OUT,JPO
  196. 9101  DATA HELP,SCOR,QUIT,GET,DROP,LIGH,KILL,FILL
  197. 9200  DATA KITT,LAMP,GOLD,COIN,RUBY,DRAG,OIL,JAR
  198. 9999  END