home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / TEXT_ADV.DSK / ADVENTURE.WITH.bas < prev    next >
BASIC Source File  |  2014-09-09  |  20KB  |  307 lines

  1. 0  REM  BY GREG HASSETT
  2. 10  TEXT : CLEAR 
  3. 20  IF NA$ < >""  THEN 50
  4. 30  HOME : INPUT "WHAT IS YOUR NAME ?";NA$
  5. 40 NA$ = NA$ +"/JOURNEY"
  6. 50  HOME : VTAB 11
  7. 60  PRINT  TAB( 12)"ADVENTURE WITHIN"
  8. 70  PRINT  TAB( 15)"THE EARTH"
  9. 80  FOR EW = 1 TO 300: NEXT 
  10. 90 CP = 1: GOSUB 2010
  11. 100  HOME 
  12. 110  GOSUB 1910: GOSUB 1800
  13. 120  IF CP = 18  AND (VB < >25  OR NO < >21)  THEN  PRINT "HORRORS! THE TROLL THROWS AN AXE AT ME! I AM DEAD.": GOTO 1510
  14. 130  IF CP = 18  THEN  PRINT M2$:F5 = 1: GOSUB 1800
  15. 140  IF NO <23  OR VB >1  OR NO >30  THEN 230
  16. 150  IF NO < = 26  THEN FD = FD +1: GOTO 160
  17. 155 FD =  -10000
  18. 160  IF NO >26  THEN NO = NO -4
  19. 170 NO = NO -22
  20. 180  IF CP = 10  AND NO = 1  THEN  PRINT "AND FALL INTO THE LAVA??? FAT CHANCE!": GOSUB 1800: GOTO 140
  21. 190  IF CP = 11  AND NO = 2  THEN  PRINT "DO YOU KNOW WHAT LAVA IS??? IT'S HOT,   THAT'S WHAT!": GOSUB 1800: GOTO 140
  22. 200  IF CP = 29  AND OB(10,0) = 29  AND (NO = 4  OR NO = 2)  THEN  PRINT "THE HYDRA WON'T LET ME THROUGH!": GOSUB 1800: GOTO 140
  23. 210  IF P(CP,NO) = 0  THEN  PRINT "I CAN'T GO THAT WAY!": GOSUB 1800: GOTO 140
  24. 220 CP = P(CP,NO): GOTO 100
  25. 230  IF VB < >2  AND VB < >20  THEN 310
  26. 240  IF NO = 10  AND OB(33,0) = CP  THEN  PRINT "IT IS SORT OF HEAVY, YOU KNOW.": GOSUB 1800: GOTO 140
  27. 250  IF NO = 0  THEN  PRINT "I DON'T KNOW WHAT A '"NO$"' IS.": GOSUB 1800: GOTO 140
  28. 260  IF OB(NO,0) < >CP  THEN  PRINT "I DON'T SEE IT HERE.": GOSUB 1800: GOTO 140
  29. 270  IF NO = 10  OR NO = 20  THEN  PRINT "OH GIVE ME A BREAK!!": GOSUB 1800: GOTO 140
  30. 280  IF OB(NO,0) =  -1  THEN  PRINT "I'M ALREADY CARRYING IT.": GOSUB 1800: GOTO 140
  31. 290  IF OB(NO,0) = CP  AND NT > = 6  THEN  PRINT "I CAN'T CARRY ANY MORE. YOU'LL HAVE TO  DROP SOMETHING.": GOSUB 1800: GOTO 140
  32. 300  IF OB(NO,0) = CP  THEN  PRINT "CHECK.":NT = NT +1:OB(NO,0) =  -1: GOSUB 1800: GOTO 140
  33. 310  IF VB < >4  AND VB < >29  THEN 360
  34. 320 F3 = 0
  35. 330  PRINT "I AM CURRENTLY CARRYING :": FOR I = 1 TO LO: IF OB(I,0) =  -1  THEN  PRINT OB$(I):F3 = 1
  36. 340  NEXT I: IF F3 = 0  THEN  PRINT "NOTHING."
  37. 350  GOSUB 1800: GOTO 140
  38. 360  IF VB = 3  THEN 100
  39. 370  IF NO = 0  AND VB = 0  THEN  PRINT "THAT DOESN'T MAKE ANY SENSE TO ME.": GOSUB 1800: GOTO 140
  40. 380  IF VB < >5  THEN 440
  41. 390 J = 0
  42. 400  FOR I = 1 TO LO: IF OB(I,0) = 1  THEN J = J +OB(I,1)
  43. 410  NEXT I: PRINT "OUT OF A MAXIMUM OF 175 POINTS, YOU     HAVE "J"."
  44. 420  IF J = 0  THEN  PRINT "BOY, YOU STINK!"
  45. 430  GOSUB 1800: GOTO 140
  46. 440  IF VB < >6  AND VB < >22  THEN 510
  47. 450  IF NO$ < >"EVERYTHING"  AND NO$ < >"ALL"  THEN 490
  48. 460  FOR I = 1 TO LO: IF OB(I,0) =  -1  THEN OB(I,0) = CP
  49. 470  NEXT I:NT = 0
  50. 480  PRINT "OKAY.": GOSUB 1800: GOTO 140
  51. 490  IF OB(NO,0) < > -1  THEN  PRINT "HOW CAN I DROP WHAT I'M NOT HOLDING???": GOSUB 1800: GOTO 140
  52. 500 OB(NO,0) = CP: PRINT "O.K.":NT = NT -1: GOSUB 1800: GOTO 140
  53. 510  IF VB < >7  AND VB < >28  THEN 550
  54. 520  IF H$(CP) = ""  THEN  PRINT "YOU GOT ME INTO THIS MESS, NOW GET ME   OUT!"
  55. 530  PRINT H$(CP):H$(CP) = ""
  56. 540  GOSUB 1800: GOTO 140
  57. 550  IF VB < >8  THEN 640
  58. 560  HOME : INPUT "SAVE TO CASSETTE OR DISK ?";IO$:IO$ =  LEFT$(IO$,1): IF IO$ < >"C"  AND IO$ < >"D"  THEN 560
  59. 561  IF IO$ = "C"  THEN 570
  60. 562  PRINT "PRESS <RETURN> WHEN DISK": INPUT "PREPARATIONS ARE MADE.";XX$: PRINT "SAVING."
  61. 563  PRINT "<CTRL-D>OPEN"NA$
  62. 564  FOR I = 1 TO LO: PRINT "<CTRL-D>WRITE"NA$: IF OB$(I) = ""  THEN 566
  63. 565  PRINT OB(I,0): PRINT OB(I,1)
  64. 566  NEXT I: PRINT CP
  65. 567  PRINT "<CTRL-D>CLOSE"NA$
  66. 568  GOTO 630
  67. 570  PRINT "PRESS <RETURN> WHEN CASSETTE": INPUT "PREPARATIONS ARE MADE.";XX$: PRINT "SAVING."
  68. 571  FOR I = 1 TO LO: IF OB$(I) = ""  THEN 574
  69. 572 XX(I,0) = OB(I,0)
  70. 573 XX(I,1) = OB(I,1)
  71. 574  NEXT I
  72. 575 XX(LO +1,0) = CP
  73. 576  STORE XX
  74. 630  GOSUB 1800: GOTO 140
  75. 640  IF VB < >9  THEN 720
  76. 650  HOME : INPUT "LOAD FROM CASSETTE OR DISK ?";IO$:IO$ =  LEFT$(IO$,1): IF IO$ < >"C"  AND IO$ < >"D"  THEN 650
  77. 660  IF IO$ = "C"  THEN 670
  78. 661  PRINT "PRESS <RETURN> WHEN DISK": INPUT "PREPARATIONS ARE MADE.";XX$: PRINT "LOADING.": PRINT "<CTRL-D>OPEN"NA$
  79. 662  FOR I = 1 TO LO: PRINT "<CTRL-D>READ"NA$: IF OB$(I) = ""  THEN 664
  80. 663  INPUT OB(I,0),OB(I,1)
  81. 664  NEXT I: INPUT CP
  82. 665  PRINT "<CTRL-D>CLOSE"NA$: GOTO 710
  83. 670  PRINT "PRESS <RETURN> WHEN CASSETTE": INPUT "PREPARATIONS ARE MADE.";XX$: PRINT "LOADING.": RECALL XX
  84. 671  FOR I = 1 TO LO: IF OB$(I) = ""  THEN 674
  85. 672 OB(I,0) = XX(I,0)
  86. 673 OB(I,1) = XX(I,1)
  87. 674  NEXT I:CP = XX(LO +1,0)
  88. 710  GOTO 100
  89. 720  IF VB < >10  THEN 740
  90. 730  GOTO 1520
  91. 740  IF VB < >11  THEN 770
  92. 750  IF NO = 0  THEN  PRINT "SAY WHAT?": GOSUB 1800: GOTO 140
  93. 760  PRINT "OKAY. IF IT IS REALLY NECESSARY...": GOSUB 1800: GOTO 140
  94. 770  IF VB < >12  THEN 810
  95. 780  IF NO < >12  THEN  PRINT "I DON'T DO STUPID THINGS.": GOSUB 1800: GOTO 140
  96. 790  IF OB(12,0) < > -1  THEN  PRINT "I DON'T HAVE ANY COKE TO DRINK!": GOSUB 1800: GOTO 140
  97. 800  PRINT M3$:OB(12,0) = 0:OB(13,0) =  -1: GOSUB 1800: GOTO 140
  98. 810  IF VB < >13  THEN 880
  99. 820  IF OB(31,0) < > -1  THEN  PRINT "BUT I HAVE NO FOOD!!": GOSUB 1800: GOTO 140
  100. 830  IF OB(NO,0) < >CP  THEN  PRINT "I DON'T SEE IT.": GOSUB 1800: GOTO 140
  101. 840  IF NO = 10  THEN  PRINT "THE HYDRA WHARFS DOWN THE FOOD.":OB(31,0) = 0:OB$(10) = "A GIANT HYDRA RUBBING HIS STOMACH": GOSUB 1800: GOTO 140
  102. 850  IF NO = 20  THEN  PRINT "THE BUGS IN THESE CAVES ONLY EAT HUMAN  FLESH.": GOSUB 1800: GOTO 140
  103. 860  IF NO < >3  THEN  PRINT "YOU CAN'T BE SERIOUS.": GOSUB 1800: GOTO 140
  104. 870  PRINT "IT REFUSES TO EAT THE FOOD.": GOSUB 1800: GOTO 140
  105. 880  IF VB < >14  THEN 960
  106. 890  IF NO = 10  AND OB(33,0) = CP  THEN  PRINT "THE UNDERTAKER JUST TOOK HIM AWAY.":OB(33,0) = 0: GOSUB 1800: GOTO 140
  107. 900  IF OB(NO,0) < >CP  AND OB(NO,0) < > -1  THEN  PRINT "I DON'T SEE IT AND I'M NOT HOLDING IT,  SO HOW CAN I HIT IT?": GOSUB 1800: GOTO 140
  108. 910  IF NO = 3  THEN  PRINT "NO!!! I KIND OF LIKE THE PARROT! POLLY  WANT A CRACKER?"
  109. 920  IF NO = 10  THEN  PRINT "OKAY...                                 THE HYDRA GRUNTS >>DAMN MOSQUITOS<<"
  110. 930  IF NO = 20  THEN  PRINT "YUCH! I DON'T WANT TO TOUCH!!!"
  111. 940  IF NO = 3  OR NO = 10  OR NO = 20  THEN  GOSUB 1800: GOTO 140
  112. 950  PRINT "OKAY...                                 OUCH! I HURT MY HAND!": GOSUB 1800: GOTO 140
  113. 960  IF VB = 15  THEN  PRINT "I CAN'T KILL ANYTHING, I'M TOO WEAK.    BUT MAYBE IF YOU WERE MORE SPECIFIC...": GOSUB 1800: GOTO 140
  114. 970  IF VB < >16  THEN 1060
  115. 980  IF OB(33,0) = CP  AND NO = 10  THEN  PRINT "IT IS ALREADY BURNT TO A CRISP.": GOSUB 1800: GOTO 140
  116. 990  IF OB(6,0) < > -1  THEN  PRINT "I DON'T HAVE A LIGHTER OR MATCHES!!": GOSUB 1800: GOTO 140
  117. 1000  IF NO = 3  THEN  PRINT "NEVER!! YOU KNOW SOMETHING,             YOU'RE A SADIST.": GOSUB 1800: GOTO 140
  118. 1010  IF NO = 10  AND OB(10,0) = CP  THEN OB(10,0) = 0:OB(33,0) = CP: PRINT "THE HYDRA CRUMBLES TO THE GROUND DEAD.": GOSUB 1800: GOTO 140
  119. 1020  IF NO = 20  THEN  PRINT "THE BUG CANNOT BE BURNED. <GULP>": GOSUB 1800: GOTO 140
  120. 1030  IF NO = 10  THEN OB(10,0) = 0
  121. 1040  PRINT "IT DOESN'T BURN."
  122. 1050  GOSUB 1800: GOTO 140
  123. 1060  IF VB = 17  THEN  PRINT "AND JUST WHO DO YOU THINK I AM, ROCKY??": GOSUB 1800: GOTO 140
  124. 1070  IF VB = 18  THEN  PRINT "I DON'T KNOW HOW TO LIGHT THINGS.       IF YOU WANT ME TO BURN SOMETHING, TELL  ME SO!": GOSUB 1800: GOTO 140
  125. 1080  IF VB < >19  THEN 1170
  126. 1090  IF NO$ = "COIN"  THEN NO$ = "QUARTER":NO = 7
  127. 1100  IF NO = 0  THEN  PRINT "I DON'T KNOW WHAT ONE IS.": GOSUB 1800: GOTO 140
  128. 1110  IF NO = 7  THEN 1130
  129. 1120  IF OB(NO,0) < > -1  THEN  PRINT "I'M NOT HOLDING IT RIGHT NOW.": GOSUB 1800: GOTO 140
  130. 1130  IF CP < >27  THEN  PRINT "I DON'T SEE ANY COKE MACHINES HERE.": GOSUB 1800: GOTO 140
  131. 1140  IF NO < >7  THEN  PRINT "THAT IS RIDICULOUS.": GOSUB 1800: GOTO 140
  132. 1150  IF OB(NO,0) < > -1  THEN  PRINT "I HAVE NO MONEY.": GOSUB 1800: GOTO 140
  133. 1160  IF OB(7,0) =  -1  AND CP = 27  THEN  PRINT "ALL RIGHT.   CHICKLIK CHINGGGG!         A COKE POPPED OUT. THERE IS NOW A       BOTTLE OF COKE HERE.":OB(7,0) = 0:NT = NT -1:OB(12,0) = 27: GOSUB 1800: GOTO 140
  134. 1170  REM 
  135. 1180  IF VB < >21  THEN 1260
  136. 1190  IF NO < >18  AND OB(NO,0) =  -1  THEN  PRINT "IT'S KIND OF HEAVY, YOU KNOW.": GOSUB 1800: GOTO 140
  137. 1200  IF OB(NO,0) < > -1  THEN  PRINT "FIRST YOU HAVE TO HELP ME FIND IT,      DUMMY!": GOSUB 1800: GOTO 140
  138. 1210  IF CP = 10  OR CP = 11  THEN 1230
  139. 1220  PRINT "NOTHING HAPPENED.": GOSUB 1800: GOTO 140
  140. 1230  IF CP = 10  THEN CP = 11: GOTO 1250
  141. 1240 CP = 10
  142. 1250  GOTO 100
  143. 1260  IF VB = 23  THEN VB = 1: GOTO 140
  144. 1270  IF VB = 24  THEN  PRINT "TRY 'KILL "NO$"'.": GOSUB 1800: GOTO 140
  145. 1280  IF VB < >25  THEN 1310
  146. 1290  IF NO = 21  THEN  PRINT "NOTHING HAPPENED.": GOSUB 1800: GOTO 140
  147. 1300  PRINT "SIR WHAT??? I DON'T UNDERSTAND!": GOSUB 1800: GOTO 140
  148. 1310  IF VB < >26  THEN 1380
  149. 1320  IF CP = 1  AND OB(14,0) =  -1  AND OB(22,0) = 1  THEN  PRINT "OKAY!!!": GOTO 1510
  150. 1330  IF CP < >1  THEN  PRINT "I CAN'T.": GOSUB 1800: GOTO 140
  151. 1340  IF VB < >26  THEN 1380
  152. 1350  IF OB(14,0) < > -1  THEN  PRINT "I CAN'T. I HAVE NO TOOLS.": GOSUB 1800: GOTO 140
  153. 1360  PRINT "I CAN'T. I DON'T SEE THE FRIBULATING    GONKULATOR AROUND ME.": IF OB(22,0) =  -1  THEN  PRINT "I THINK I HAVE TO DROP IT FIRST."
  154. 1370  GOSUB 1800: GOTO 140
  155. 1380  IF VB < >27  THEN 1460
  156. 1390  IF NO = 0  THEN  PRINT "WHAT THE DEVIL IS A "NO$"??": GOSUB 1800: GOTO 140
  157. 1400  IF NO = 20  OR NO = 10  THEN  IF OB(NO,0) = CP  THEN  PRINT "YUCH!!! I'D NEVER EAT A "NO$"!!!": GOSUB 1800: GOTO 140
  158. 1410  IF NO = 10  AND OB(33,0) = CP  THEN  PRINT "WELL...IT'S COOKED NOW, BUT IT STILL    LOOKS RATHER GROSS.": GOSUB 1800: GOTO 140
  159. 1420  IF OB(NO,0) < > -1  THEN  PRINT "I'M NOT HOLDING IT.": GOSUB 1800: GOTO 140
  160. 1430  IF NO = 3  AND OB(3,0) =  -1  THEN  PRINT "I'D RATHER NOT. I DON'T CARE FOR PARROT MEAT.": GOSUB 1800: GOTO 140
  161. 1440  IF NO = 31  AND OB(31,0) =  -1  THEN NT = NT -1: PRINT "MMMM! IT WAS FILET MIGNON, MY FAVORITE  DISH.":OB(31,0) = 0: GOSUB 1800: GOTO 140
  162. 1450  PRINT "I THINK THAT "OB$(NO)" WOULD GIVE": PRINT "ME INDIGESTION, AND I DON'T HAVE ANY    PEPTO-BISMOL.": GOSUB 1800: GOTO 140
  163. 1460  IF VB < >30  THEN 1500
  164. 1470  IF CP < >10  AND CP < >11  THEN  PRINT "NOTHING HAPPENED.": GOSUB 1800: GOTO 140
  165. 1480  PRINT "NICE TRY, BUT THAT'S AN OLD, WORN OUT   MAGIC WORD."
  166. 1490  GOSUB 1800: GOTO 140
  167. 1500  PRINT "I DON'T KNOW HOW TO DO THAT.": GOSUB 1800: GOTO 140
  168. 1510  FOR I = 1 TO 1000: NEXT I
  169. 1520  PRINT "OUT OF A MAXIMUM OF 175 POINTS, YOU HAVESCORED ";:J = 0
  170. 1530  FOR I = 1 TO LO: IF OB(I,0) = 1  THEN J = J +OB(I,1)
  171. 1540  NEXT I
  172. 1550  PRINT J" POINTS."
  173. 1560  IF J = 175  THEN  PRINT "ALL OF ADVENTUREDOM PAYS TRIBUTE TO YOU,ADVENTURER GRANDMASTER!": GOTO 1640
  174. 1570  IF J >165  THEN  PRINT "YOUR SCORE PUTS YOU IN MASTER ADVENTURERCLASS 'A'.": GOTO 1640
  175. 1580  IF J >150  THEN  PRINT "YOUR SCORE PUTS YOU IN MASTER ADVENTURERCLASS 'B'.": GOTO 1640
  176. 1590  IF J >140  THEN  PRINT "YOU HAVE REACHED A 'JUNIOR MASTER'      STATUS.": GOTO 1640
  177. 1600  IF J >120  THEN  PRINT "YOU MAY NOW CONSIDER YOURSELF A         'SEASONED ADVENTURER'.": GOTO 1640
  178. 1610  IF J >110  THEN  PRINT "YOU HAVE ACHIEVED THE RATING:           'EXPERIENCED ADVENTURER'.": GOTO 1640
  179. 1620  IF J >100  THEN  PRINT "YOUR SCORE QUALIFIES YOU AS A 'NOVICE   CLASS' ADVENTURER.": GOTO 1640
  180. 1630  PRINT "YOU ARE OBVIOUSLY A RANK AMATEUR.       BETTER LUCK NEXT TIME."
  181. 1640  PRINT : INPUT "DO YOU WANT TO PLAY AGAIN? ";AG$:AG$ =  LEFT$(AG$,1): IF AG$ = "N"  THEN  HOME : END 
  182. 1645  IF AG$ < >"Y"  THEN 1520
  183. 1650  FOR K = 1 TO  LEN(NA$): POKE 24576 +K, ASC( MID$ (NA$,K,1)): NEXT K: POKE 24576 +K,191
  184. 1660  CLEAR :CO = 0:NA$ = ""
  185. 1670 CO = CO +1:PE =  PEEK(24576 +CO): IF PE < >191  THEN NA$ = NA$ + CHR$(PE): GOTO 1670
  186. 1680  GOTO 20
  187. 1690  PRINT "GADZOOKS!!! A GIANT BUG JUST WALKED IN  TO KILL ME!!!"
  188. 1700 FF = 1
  189. 1710  GOSUB 1800
  190. 1720  IF NO$ = "SESAME"  AND VB$ = "OPEN"  THEN  PRINT "THE BUG HAS SHRUNKEN TO ITS PROPER SIZE AND SCURRIED AWAY.": GOTO 1780
  191. 1730  IF NO < >20  OR VB < >15  THEN  PRINT "HELP ME!!! I'M BEING DEVOURED BY A GIANTBUG!!! THE END IS NEAR! OW!! THIS HURTS!I'M DYING...DYING...DEAD.": GOTO 1510
  192. 1740  IF OB(2,0) < > -1  THEN NO = 2: PRINT "I DON'T HAVE A SWORD!!!": GOTO 1730
  193. 1750  IF SW = 8  THEN  PRINT "MY SWORD IS DULL, REMEMBER???":NO = 2: GOTO 1730
  194. 1760  PRINT "DING! DONG! THE BUG IS DEAD! THE BUG IS DEAD!!"
  195. 1770 SW = SW +1: IF SW = 8  THEN  PRINT "MY SWORD IS DULL NOW."
  196. 1780  GOSUB 1800: GOTO 140
  197. 1790  END 
  198. 1800  PRINT : PRINT "ENTER YOUR COMMAND -->";:CM$ = ""
  199. 1801  GET GT$: IF  ASC(GT$) = 13  THEN 1809
  200. 1802  IF  ASC(GT$) < >8  THEN 1807
  201. 1803  IF  LEN(CM$) < = 1  THEN CM$ = "": GOTO 1808
  202. 1804 CM$ =  LEFT$(CM$, LEN(CM$) -1): GOTO 1808
  203. 1807 CM$ = CM$ +GT$
  204. 1808  PRINT GT$;: GOTO 1801
  205. 1809  PRINT 
  206. 1810  IF CM$ = "ABRA CADABRA"  AND F5 <3  AND FF = 1  THEN NO$ = "SESAME":VB$ = "OPEN":FF = 0:F5 = F5 +1: RETURN 
  207. 1820 VB$ = "":NO$ = "":VB = 0:NO = 0
  208. 1830 LC =  LEN(CM$): FOR I = 1 TO LC: IF  MID$ (CM$,I,1) < >" "  THEN VB$ = VB$ + MID$ (CM$,I,1): NEXT I
  209. 1840  FOR I = 1 TO NV: IF VB$(I) = VB$  THEN VB = I: GOTO 1860
  210. 1845  NEXT I
  211. 1850 VB = 0:NO$ = VB$: GOTO 1880
  212. 1860  IF  LEN(VB$) +1 > LEN(CM$)  THEN NO = 0: RETURN 
  213. 1870 NO$ =  RIGHT$(CM$, LEN(CM$) -1 - LEN(VB$))
  214. 1880  FOR I = 1 TO NN: IF NO$(I) = NO$  THEN 1900
  215. 1885  NEXT I
  216. 1890 NO = 0: RETURN 
  217. 1900 NO = I: RETURN 
  218. 1910  PRINT P$(CP): PRINT 
  219. 1920  FOR I = 1 TO LO: IF OB(I,0) = CP  THEN  PRINT "THERE IS "OB$(I)" HERE."
  220. 1930  NEXT I
  221. 1940  PRINT "I CAN GO :   ";:F2 = 0
  222. 1950  FOR I = 1 TO 4: IF P(CP,I) < >0  THEN  PRINT NO$(I +22)" ";:F2 = 1
  223. 1960  NEXT I: IF F2 = 0  THEN  PRINT "NOWHERE!": GOTO 1970
  224. 1965  PRINT 
  225. 1970  IF CP = 18  AND OB(3,0) =  -1  THEN  PRINT : PRINT M1$
  226. 1980  IF  INT( RND(1) *35) = 5  AND CP < >1  AND CP < >37  AND CP < >27  THEN  PRINT : GOTO 1690
  227. 1990  IF FD >4  THEN  PRINT : PRINT "IF YOU'D LIKE, YOU CAN MAKE IT EASIER ONYOURSELF BY TYPING N, S, E, OR W INSTEAD OF NORTH, SOUTH, ETC.":FD = 0
  228. 2000  RETURN 
  229. 2010 NP = 37: DIM P$(NP)
  230. 2030 P$(1) = "I'M ON A SHIP. A COMPUTER SCREEN HERE   SAYS: 'SHIP WILL NOT FUNCTION,          FRIBULATING GONKULATOR IS BURNED OUT.'  IT'S OBVIOUS THAT THE SHIP HAS CRASHED."
  231. 2040  DATA 2,6,5,4:P$(2) = "I'M IN A COBBLESTONE HALLWAY. I CAN HEARCHIRPING NEARBY, SOUNDS LIKE BUGS...": DATA 8,1,3,5
  232. 2050 P$(3) = "I'M IN A DARK ROOM...OH NO!!! THERE ARE GIANT BUGS ALL AROUND ME!!!": DATA 0,0,0,2
  233. 2060 P$(4) = "I'M IN A SMALL ROOM. A SCRIBBLING HERE  SAYS: 'HAR HAR HAR! YOU'LL NEVER MAKE   IT! >> ARBADAC ARBA <<'": DATA 7,0,1,0
  234. 2070 P$(5) = "I'M IN A DUSTY COBBLESTONE HALLWAY.": DATA 0,25,2,1
  235. 2080 P$(6) = "I'M IN A DUSTY PLACE. IT IS VERY DARK INHERE. I'M SCARED!": DATA 1,24,0,0
  236. 2090 P$(7) = "I'M IN A LOW CRAWL SPACE. IT SEEMS AS IFWE'RE NOT SUPPOSED TO BE HERE...": DATA 0,4,15,0
  237. 2100 P$(8) = "I'M IN A ROOM WITH ROCK WALLS. IMBEDDED IN THE WALLS ARE SCATTERED RUBIES.": DATA 9,2,0,13
  238. 2110 P$(9) = "I'M IN A DARK ROOM. THIS ONE IS NOT SO  SCARY. I THINK I HEAR GRUNTS AND GROANS NEARBY.": DATA 10,8,23,0
  239. 2120 P$(10) = "I'M ON THE SOUTH SIDE OF A CHASM. MOLTENLAVA IS BENEATH ME.": DATA 11,9,0,0
  240. 2130 P$(11) = "I'M ON THE NORTH SIDE OF THE CHASM.": DATA 16,10,0,0
  241. 2140 P$(12) = "I'M IN A MAZE OF TWISTY PASSAGES.": DATA 12,12,13,14
  242. 2150 P$(13) = P$(12): DATA 13,13,8,12
  243. 2160 P$(14) = P$(12): DATA 14,15,12,14
  244. 2170 P$(15) = P$(12): DATA 14,15,15,7
  245. 2180 P$(16) = "I'M ON A WOOD PLATFORM. A SIGN WARNS:   'GO BACK! GO SOUTH!!' THERE IS A RICKEDYBRIDGE TO THE NORTH.": DATA 17,11,0,0
  246. 2190 P$(17) = "I'M IN A DUSTY PASSAGE. A SIGN POINTS   EAST AND SAYS: 'TO TROLLS PLACE -->'    A RICKEDY BRIDGE EXTENDS SOUTHWARD.     MARKINGS IN THE DUST INDICATE THAT      SOMEONE WAS HERE RECENTLY.": DATA 0,16,18,0
  247. 2200 P$(18) = "A VOICE BOOMS OUT: 'WHO DARES TO ENTER  MY PALACE???' (SOUNDS LIKE A TROLL TO   ME!)": DATA 0,0,19,0
  248. 2210 P$(19) = "I'M IN THE TROLL'S PALACE. IT'S BREATH- TAKING!! THE CEILING IS SO HIGH, I CAN'TEVEN SEE IT!": DATA 0,20,0,0
  249. 2220 P$(20) = "I'M AT ONE END OF A SECRET PASSAGE.": DATA 119,0,0,21
  250. 2230 P$(21) = "I'M IN A SECRET PASSAGE.": DATA 21,22,20,21
  251. 2240 P$(22) = P$(21): DATA 21,22,22,23
  252. 2250 P$(23) = P$(21): DATA 23,23,22,9
  253. 2260 P$(24) = "I'M IN A HUGE ICE CAVERN. THE CEILING   AND WALLS ARE COMPLETELY ICE.": DATA 6,26,25,0
  254. 2270 P$(25) = "I'M IN A ROOM WITH MANY ANIMALS...      WAIT! THEY'VE ALL RUN AWAY.": DATA 5,0,0,0
  255. 2280 P$(26) = "I AM IN A ROOM WITH TRACES OF SLIME ON  THE FLOORS AND WALLS.": DATA 24,29,27,28
  256. 2290 P$(27) = "I'M IN...AL'S DINER?!? THERE'S A COKE   MACHINE HERE. IT SAYS: 'ENJOY COCA-COLA.25 CENTS (NO CANADIAN COINS PLEASE)'.": DATA 0,0,0,26
  257. 2300 P$(28) = "I'M IN A HUGE PIT.": DATA 0,0,26,0
  258. 2320 P$(29) = "I'M IN THE HYDRA ROOM. THE WALLS ARE ALLSLIME. BOY, I'VE NEVER SEEN ANYTHING SO GROSS IN MY LIFE!": DATA 26,30,31,32
  259. 2330 P$(30) = "I'M IN THE DRAGON ROOM. IT SEEMS TO BE  DECORATED WITH DRAGONS.": DATA 29,34,0,33
  260. 2340 P$(31) = "I'M IN A TORTURE CHAMBER. LET'S GET OUT OF HERE QUICK!!": DATA 31,31,31,29
  261. 2350 P$(32) = "THIS IS THE CLAM ROOM. THE WALLS ARE    SOLID CLAMSHELL EMBEDDED IN LIMESTONE.": DATA 0,0,29,0
  262. 2360 P$(33) = "I'M IN A MAMMOTH GARDEN FULL OF PLANTS.": DATA 0,0,30,0
  263. 2370 P$(34) = "I'M IN THE VELVET ROOM. THE WALLS AND   CEILING ARE VELVET.": DATA 30,34,35,0
  264. 2380 P$(35) = "I'M IN AN ARABIAN ROOM WITH GUITARS     PLAYING NEARBY. THERE IS AN OIL SLICK   HERE. LOOKS LIKE MACHINE OIL, 10-W-30.": DATA 36,37,0,34
  265. 2390 P$(36) = "I'M IN THE TREASURE ROOM. MANY DWARVES  GUARD SOME PETTY TREASURE. NOTHING TO   FLIP OVER, ANYWAY.": DATA 0,35,0,0
  266. 2400 P$(37) = "I'M AT MAC'S EARTH-DIGGER BODY SHOP.": DATA 35,0,0,0
  267. 2410  DIM P(37,4): FOR I = 1 TO 37: FOR J = 1 TO 4: READ P(I,J): NEXT J,I
  268. 2420 LO = 33: DIM OB$(LO),OB(LO,1)
  269. 2425  DIM XX(LO,1)
  270. 2430 OB$(1) = "A SET OF KEYS": DATA 6,0:OB$(2) = "A SHINY SWORD": DATA 16,0
  271. 2440 OB$(3) = "A PARROT IN A CAGE": DATA  25,5:OB$(4) = "A GOLD NUGGET": DATA  4,10
  272. 2450 OB$(5) = "A 35,000 KARAT DIAMOND": DATA 7,10:OB$(6) = "A CIGARETTE LIGHTER": DATA 28,0
  273. 2460 OB$(7) = "A QUARTER": DATA 28,0:OB$(8) = "AN ENORMOUS EMERALD": DATA 32,15
  274. 2470 OB$(9) = "SOME SILVER BARS": DATA 33,15:OB$(10) = "A GIANT HYDRA": DATA 29,0
  275. 2480 OB$(11) = "A MING VASE": DATA 30,10:OB$(12) = "A BOTTLE OF COKE": DATA 0,0
  276. 2490 OB$(13) = "AN EMPTY COKE BOTTLE": DATA 0,0:OB$(14) = "SOME TOOLS": DATA 34,0
  277. 2500 OB$(15) = "A LARGE RUBY": DATA 8,15:OB$(16) = "SOME GOLD BARS": DATA 19,20
  278. 2510 OB$(17) = "A DIAMOND NECKLACE": DATA 19,25:OB$(18) = "A MAGIC WAND": DATA 14,0
  279. 2520 OB$(22) = "A FRIBULATING GONKULATOR": DATA 37,50
  280. 2530 OB$(20) = "A GIANT BUG, ASLEEP": DATA 31,0
  281. 2540 OB$(31) = "SOME TASTY FOOD":OB$(32) = "SOME HUMAN SKELETONS":OB(32,0) = 31:OB(32,1) = 0
  282. 2550 OB$(33) = "A DEAD HYDRA ON THE GROUND"
  283. 2560  FOR I = 1 TO 20: READ OB(I,0),OB(I,1): NEXT I
  284. 2570 OB(22,0) = OB(19,0):OB(22,1) = OB(19,1)
  285. 2580 OB(19,1) = 0:OB(19,0) = 0
  286. 2590 OB(31,0) = 27:OB(31,1) = 0
  287. 2600  DATA KEYS,SWORD,PARROT,NUGGET,DIAMOND,LIGHTER,QUARTER,EMERALD,SILVER,HYDRA,VASE,COKE,BOTTLE,TOOLS,RUBY,GOLD,NECKLACE,WAND,SIGN,BUG,ALEXANDER,GONKULATOR,NORTH,SOUTH,EAST,WEST
  288. 2610  DATA N,S,E,W,FOOD,SKELETONS
  289. 2620 NN = 32: DIM NO$(NN)
  290. 2630  FOR I = 1 TO NN: READ NO$(I): NEXT I
  291. 2640  DATA GO,GET,LOOK,INVEN,SCORE,DROP,HELP,SAVE,LOAD,QUIT,SAY,DRINK,FEED,HIT,KILL,BURN,FIGHT,LIGHT,INSERT,TAKE,WAVE,RELEASE,CONTINUE,DESTROY,SIR,FIX,EAT,?,INVENTORY,HOCUS
  292. 2650 NV = 30: DIM VB$(NV): FOR I = 1 TO NV: READ VB$(I): NEXT I
  293. 2660 M1$ = "THE PARROT CHANTS: 'SIR ALEXANDER...SIR ALEXANDER!'"
  294. 2670 M2$ = "THE TROLL SCURRIES AWAY IN FEAR."
  295. 2680 M3$ = "GULP GULP GULP! (BURP) - THAT WAS       REFRESHING!"
  296. 2690  DIM H$(NP)
  297. 2700 H$(25) = "THIS PARROT TALKS..."
  298. 2710 H$(29) = "CIGAR? CIGARETTE? TIPPARILLO?"
  299. 2720 H$(10) = "YOU KNOW, THIS WORLD IS ENCHANTED..."
  300. 2730 H$(12) = "YOU CAN MAKE THE PASSAGES LOOK LESS     ALIKE BY DROPPING THINGS."
  301. 2740 H$(13) = H$(12):H$(14) = H$(12):H$(15) = H$(12)
  302. 2750 H$(1) = "I THINK WE'RE SUPPOSED TO LEAVE WHAT WE FIND HERE."
  303. 2760 H$(35) = "OFTEN TIMES, OIL MEANS AN AUTO BODY SHOPIS NEARBY."
  304. 2770 H$(31) = "THE BUG WILL NOT BOTHER YOU. IT IS      ASLEEP. HINT: IF YOU LINGER TOO LONG IN THIS ROOM, IT WILL WAKE UP!"
  305. 2780 H$(2) = "YOU KNOW, IN THIS ENCHANTED WORLD, MANY THINGS THAT ARE SMALL ON EARTH ARE VERY LARGE..."
  306. 2790 H$(20) = "TRY TO FIND YOUR WAY TO THE OTHER END,  DUMMY!!!":H$(23) = H$(20)
  307. 2800  RETURN