home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / comdore / 64misc / miser (.txt) < prev    next >
Commodore BASIC  |  1988-12-02  |  15KB  |  372 lines

  1. 2 :
  2. 5 REM COPYRIGHT (C) 1983 THE CODE WORKS
  3. 6 REM BOX 6905, SANTA BARBARA, CA 93160
  4. 7 :
  5. 10 REM AS OF 8/15/83 GF
  6. 90 GOTO 62000
  7. 100 QI=254:DEF FNA(X)=OL%(ABS(PT%(X)))
  8. 105 POKE VIC+32,0:POKE VIC+33,0
  9. 200 DIM R$(48),R%(48,4),OM$(28),OL%(28),V$(30),O$(30),PT%(30)
  10. 210 EM=1:FB=1:H$(1)="WHAT?":H$(2)="I DON'T UNDERSTAND THAT."
  11. 300 FOR I=0 TO 48:FOR J=1 TO 4:READ R%(I,J):NEXT J:READ R$(I):NEXT I
  12. 400 DATA 1,0,0,0,FRONT PORCH
  13. 401 DATA 2,0,0,12,FOYER TO A LARGE HOUSE. DUST IS EVERYWHERE
  14. 402 DATA 3,1,0,0,GREAT HALL. SUITS OF ARMOR LINE THE WALLS
  15. 403 DATA 0,2,4,16,BREAKFAST ROOM. IT IS BRIGHT AND CHEERY
  16. 404 DATA 0,5,7,3,CONSERVATORY. THROUGH A WINDOW YOU SEE A HEDGE-MAZE
  17. 405 DATA 4,6,0,0,RED-WALLED ROOM
  18. 406 DATA 5,0,10,0,FORMAL PARLOR
  19. 407 DATA 0,0,8,4,GREEN DRAWING ROOM
  20. 408 DATA 0,9,0,7,TROPHY ROOM. ANIMAL HEADS LINE THE WALLS
  21. 409 DATA 8,0,0,10,DEN
  22. 410 DATA 0,11,9,6,BLUE DRAWING ROOM
  23. 411 DATA 10,0,0,0,LIBRARY. EMPTY SHELVES LINE WALLS
  24. 412 DATA 0,0,1,13,DINING ROOM
  25. 413 DATA 15,0,12,0,CHINESE ROOM
  26. 414 DATA 0,0,0,0,$
  27. 415 DATA 23,13,16,0,KITCHEN. IT IS BARE
  28. 416 DATA 0,0,3,15,PANTRY. DUST COVERS THE MAHOGANY SHELVES
  29. 417 DATA 0,8,0,18,GAME ROOM
  30. 418 DATA 21,0,17,19,SMOKING ROOM. THE AIR IS STALE IN HERE
  31. 419 DATA 21,0,18,20,PORTICO. A MURKY POOL GLIMMERS ON THE SOUTH SIDE
  32. 420 DATA 21,21,19,19,HALL OF MIRRORS - A GOOD PLACE TO REFLECT
  33. 421 DATA 0,19,0,20,BALLROOM. IT HAS A BEAUTIFUL WOOD DANCE FLOOR
  34. 422 DATA 0,0,0,21,CHAPEL. A TABLET SAYS 'DROP A RELIGOUS ITEM OR DIE!!'
  35. 423 DATA 24,15,40,25,BACK YARD
  36. 424 DATA 24,23,24,24,FOREST
  37. 425 DATA 26,0,23,0,POOL AREA. THERE IS A LARGE SWIMMING POOL HERE
  38. 426 DATA 0,25,0,0,PUMP HOUSE. THERE IS POOL MACHINERY INSTALLED HERE
  39. 427 DATA 35,0,31,28,MIDDLE OF THE WESTERN HALLWAY
  40. 428 DATA 0,0,27,0,WEST BEDROOM
  41. 429 DATA 39,0,0,0,FRONT BALCONY. THERE IS A LARGE ROAD BELOW
  42. 430 DATA 0,0,0,0,$
  43. 431 DATA 0,0,38,27,MASTER BEDROOM. THERE'S A HUGE FOUR-POSTER BED
  44. 432 DATA 0,36,0,0,REAR BALCONY. BELOW YOU SEE A HEDGE MAZE
  45. 433 DATA 34,0,0,38,EAST BEDROOM
  46. 434 DATA 0,33,0,0,CLOSET
  47. 435 DATA 0,27,36,0,JUNCTION OF THE WEST HALLWAY AND THE NORTH-SOUTH HALLWAY
  48. 436 DATA 32,0,37,35,CENTER OF THE NORTH-SOUTH HALLWAY
  49. 437 DATA 0,38,0,36,JUNCTION OF THE EAST HALLWAY AND THE NORTH-SOUTH HALLWAY
  50. 438 DATA 37,39,33,31,MIDDLE OF THE EAST HALLWAY
  51. 439 DATA 38,29,0,0,SOUTH END OF THE EAST HALLWAY
  52. 440 DATA 0,42,0,41,HEDGE MAZE
  53. 441 DATA 44,42,0,0,HEDGE MAZE
  54. 442 DATA 41,44,43,0,HEDGE MAZE
  55. 443 DATA 41,23,0,0,HEDGE MAZE
  56. 444 DATA 0,42,0,45,HEDGE MAZE
  57. 445 DATA 0,0,44,0,HEDGE MAZE
  58. 446 DATA 0,0,0,5,WALK-IN VAULT
  59. 447 DATA 0,40,0,0,DUNGEON. THERE IS LIGHT ABOVE AND TO THE SOUTH
  60. 448 DATA 0,0,0,0,BOTTOM OF THE SWIMMING POOL. A LADDER LEADS UP AND OUT
  61. 500 FOR I=1 TO 30:READ V$(I):NEXT I
  62. 510 DATA GET,TAKE,MOVE,SLID,PUSH,OPEN,READ,INVE,Q
  63. 511 DATA DROP,SAY,POUR,FILL,UNLO,LOOK
  64. 512 DATA GO,NORT,N,SOUTH,S,EAST,E,WEST,W,SCOR,TURN,JUMP,SWIM,I,FIX
  65. 550 FOR I=1 TO 30:READ O$(I),PT%(I):NEXT I
  66. 560 DATA RIPC,17,MAT,10,PAPE,13,BUCK,1,SWOR,9,KEY,20,VALV,-1,LADD,-1
  67. 570 DATA SLIP,19,RUG,15,BOOK,23,DOOR,-1,CABI,-1,RITN,-1,VICT,-1,ORGA,-1,PARA,14
  68. 580 DATA STAI,-1,PENN,12,CROS,11,LEAF,4,BAG,5,>$<,-1,>$<,-1,RING,7,PAIN,8
  69. 590 DATA VAUL,-1,POOL,-1,XYZZ,-1,PLUG,-1
  70. 600 FOR I=1 TO 28:READ OM$(I),OL%(I):NEXT I:PRINT "[147]"
  71. 610 DATA PLASTIC BUCKET,26,VICIOUS SNAKE,4,CHARMED SNAKE,-2,*GOLDEN LEAF*,45
  72. 611 DATA *BULGING MONEYBAG*,46,>$<,-2,*DIAMOND RING*,48
  73. 612 DATA *RARE PAINTING*,39,SWORD,13,MAT,0,RUSTY CROSS,23,PENNY,28
  74. 613 DATA PIECE OF PAPER,31,PARACHUTE WITH NO RIPCORD,34,ORIENTAL RUG,6
  75. 614 DATA TRAPDOOR MARKED 'DANGER',-2
  76. 615 DATA PARACHUTE RIPCORD,-2,PORTAL IN THE NORTH WALL,-2
  77. 616 DATA PAIR OF *RUBY SLIPPERS*,-2,BRASS DOOR KEY,-2
  78. 617 DATA MAJESTIC STAIRCASE LEADING UP,2
  79. 618 DATA MAJESTIC STAIRCASE LEADING DOWN,27,BATTERED BOOK,11
  80. 619 DATA ORGAN IN THE CORNER,21,OPEN ORGAN IN THE CORNER,-2
  81. 620 DATA CABINET ON ROLLERS AGAINST 1 WALL OVER,5,REPAIRED PARACHUTE,-2
  82. 621 DATA "SIGN SAYING 'DROP COINS FOR LUCK'",19
  83. 699 GOTO 14000
  84. 700 PRINT:SC=0:SF=0:GOSUB 60000:IF LEN(IN$)=0 THEN 700
  85. 720 IF LEFT$(IN$,1)=" " THEN IN$=RIGHT$(IN$,LEN(IN$)-1):GOTO 720
  86. 730 IF RIGHT$(IN$,1)=" " THEN IN$=LEFT$(IN$,LEN(IN$)-1):GOTO 730
  87. 735 SP=LEN(IN$)+1:PRINT
  88. 740 SC=SC+1:IF MID$(IN$,SC,1)=" " THEN SF=SF+1:SP=SC
  89. 750 IF SC<LEN(IN$) THEN 740
  90. 760 IF SF>-1 AND SF<2 THEN GOTO 780
  91. 770 PRINT "PLEASE TYPE A ONE OR TWO WORD COMMAND":GOTO 700
  92. 780 CV$=LEFT$(IN$,SP-1):FOR X=1 TO 30:IF LEFT$(CV$,4)=V$(X) THEN I=X:GOTO 800
  93. 790 NEXT X:GOTO 50000
  94. 800 IF SF=0 THEN CO$="":J=0:GOTO 900
  95. 810 CO$=MID$(IN$,SP+1,4):FOR X=1 TO 30:IF CO$=O$(X) THEN J=X:GOTO 900
  96. 820 NEXT X:GOTO 50000
  97. 830 GOTO 700
  98. 900 ON I GOTO 1000,1000,2000,2000,2000,4000,5000,6000,7000,8000,9000,10000
  99. 910 ON I-12 GOTO 11000,12000,14000,15000,16000,16000,17000,17000,17010,17010
  100. 920 ON I-22 GOTO 19000,19000,20000,21000,22000,24000,6000,25000
  101. 1000 IF J=0 THEN 50000
  102. 1002 IF PT%(J)=-1 THEN PRINT "I AM UNABLE TO DO THAT.":GOTO 700
  103. 1005 IF FNA(J)=-1 THEN PRINT "YOU'RE ALREADY CARRYING IT":GOTO 700
  104. 1010 IF FNA(J)<>CP THEN 51000
  105. 1020 OL%(PT%(J))=-1:PRINT "OK"
  106. 1030 X=PT%(J):IF (X>3 AND X<9) OR X=19 THEN PRINT "YOU GOT A TREASURE!":GT=GT+1
  107. 1040 IF J=2 AND OL%(20)=-2 THEN PRINT "YOU FIND A DOOR KEY!":OL%(20)=0
  108. 1045 IF J=10 AND OL%(16)=-2 THEN 2200
  109. 1050 GOTO 700
  110. 2000 IF J=0 THEN 50000
  111. 2005 IF J=13 AND CP=5 AND R%(5,3)=0 THEN 2100
  112. 2010 IF PT%(J)=-1 THEN PRINT "THAT ITEM STAYS PUT.":GOTO 700
  113. 2020 IF (FNA(J)<>CP) AND (FNA(J)<>-1) THEN 51000
  114. 2030 IF J=2 AND OL%(20)=-2 THEN 1040
  115. 2040 IF J=10 AND OL%(16)=-2 THEN 2200
  116. 2050 PRINT "MOVING IT REVEALS NOTHING."
  117. 2060 GOTO 700
  118. 2100 PRINT "BEHIND THE CABINET IS A VAULT!"
  119. 2110 FV=1:GOTO 699
  120. 2200 PRINT "YOU FIND A TRAP DOOR!"
  121. 2210 OL%(16)=6:GOTO 699
  122. 4000 IF J=0 THEN 50000
  123. 4002 IF J<>11 THEN 4030
  124. 4005 IF (FNA(J)<>CP) AND (FNA(J)<>-1) THEN 4030
  125. 4010 IN$="SCRAWLED IN BLOOD ON THE INSIDE FRONT COVER IS THE MESSAGE,"
  126. 4011 GOSUB 53000:PRINT
  127. 4020 PRINT "''VICTORY' IS A PRIZE-WINNING WORD'.":GOTO 700
  128. 4030 IF J=7 THEN PRINT "TRY TURNING IT.":GOTO 700
  129. 4040 IF J<>12 THEN 4120
  130. 4050 IF CP=0 AND DU=0 THEN PRINT "SORRY, THE DOOR IS LOCKED.":GOTO 700
  131. 4060 IF CP=0 AND DU THEN PRINT "IT'S ALREADY OPEN.":GOTO 700
  132. 4070 IF CP<>6 THEN 51000
  133. 4080 IN$="YOU OPEN THE DOOR. YOU LEAN OVER TO PEER IN, AND YOU FALL IN!"
  134. 4090 GOSUB 53000:CP=47:PRINT:GOTO 699
  135. 4120 IF J<>13 THEN 4160
  136. 4130 IF OL%(26)<>CP THEN 51000
  137. 4140 PRINT "THE CABINET IS EMPTY AND DUSTY."
  138. 4150 IN$="SCRIBBLED IN DUST ON ONE SHELF ARE THE WORDS, 'BEHIND ME'."
  139. 4155 GOSUB 53000:PRINT:GOTO 700
  140. 4160 IF J<>22 THEN 4190
  141. 4170 IF FNA(J)<>CP AND FNA(J)<>-1 THEN 51000
  142. 4180 PRINT "THE BAG IS KNOTTED SECURELY.":PRINT "IT WON'T OPEN.":GOTO 700
  143. 4190 IF J<>27 THEN 4230
  144. 4200 IF CP<>5 OR FV=0 THEN 521000
  145. 4210 IF VO THEN PRINT "IT'S ALREADY OPEN.":GOTO 700
  146. 4220 PRINT "I CAN'T, IT'S LOCKED.":GOTO 700
  147. 4230 IF J<>16 THEN PRINT "I DON'T KNOW HOW TO OPEN THAT.":GOTO 700
  148. 4232 IF CP<>21 THEN 51000
  149. 4235 IF G=0 THEN PRINT "IT'S STUCK SHUT.":GOTO 700
  150. 4240 IF OL%(24)=-2 THEN PRINT "IT'S ALREADY OPEN.":GOTO 700
  151. 4250 PRINT "AS YOU OPEN IT, SEVERAL OBJECTS":PRINT "SUDDENLY APPEAR!"
  152. 4260 OL%(24)=-2:OL%(25)=21:OL%(19)=21:OL%(17)=21:GOTO 699
  153. 5000 IF J=0 THEN 50000
  154. 5005 IF PT%(J)>-1 THEN IF FNA(J)<>CP AND FNA(J)<>-1 THEN 51000
  155. 5010 IF PT%(J)=-1 THEN PRINT "THERE'S NOTHING WRITTEN ON THAT.":GOTO 700
  156. 5020 IF J<>3 AND J<>11 THEN PRINT "THERE'S NOTHING WRITTEN ON THAT.":GOTO 700
  157. 5030 IF J=11 THEN PRINT "THE FRONT COVER IS INSCRIBED IN GREEK.":GOTO 700
  158. 5040 PRINT "IT SAYS, '12-35-6'.":PRINT "HMM.. LOOKS LIKE A COMBINATION."
  159. 5050 KC=1:GOTO 700
  160. 6000 PRINT "YOU ARE CARRYING THE FOLLOWING:"
  161. 6010 FI=0:FOR X=1 TO 27:IF OL%(X)=-1 THEN PRINT OM$(X):FI=1
  162. 6020 IF X=1 AND BF AND OL%(1)=-1 THEN PRINT "  THE BUCKET IS FULL OF WATER."
  163. 6025 IF X=14 AND OL%(14)=-1 THEN PRINT "  (BETTER FIX IT)"
  164. 6030 NEXT X:IF FI=0 THEN PRINT "NOTHING AT ALL."
  165. 6040 GOTO 700
  166. 7000 PRINT "DO YOU REALLY WANT TO QUIT NOW?"
  167. 7001 GOSUB 60000:IF IN$="" THEN 7001
  168. 7002 IF LEFT$(IN$,1)<>"Y" THEN PRINT:PRINT "OK":GOTO 700
  169. 7005 PRINT "[147]"
  170. 7010 PRINT "YOU ACCUMULATED";GT;"TREASURES,"
  171. 7020 PRINT "FOR A SCORE OF";GT*20;"POINTS."
  172. 7030 PRINT "(100 POSSIBLE)":IF ES=0 THEN PRINT "HOWEVER, YOU DID NOT ESCAPE."
  173. 7040 PRINT "THIS PUTS YOU IN A CLASS OF:":IF ES THEN GT=GT+1
  174. 7050 ON GT+1 GOTO 7060,7070,7075,7090,7100,7110,7115
  175. 7060 PRINT "<BEGINNER ADVENTURER>":GOTO 7120
  176. 7070 PRINT "<AMATEUR ADVENTURER>":GOTO 7120
  177. 7075 PRINT "<JOURNEYMAN ADVENTURER>":GOTO 7120
  178. 7090 PRINT "<EXPERIENCED ADVENTURER>":GOTO 7120
  179. 7100 PRINT "<PRO ADVENTURER>":GOTO 7120
  180. 7110 PRINT "<MASTER ADVENTURER>":GOTO 7120
  181. 7115 PRINT "<GRANDMASTER ADVENTURER>"
  182. 7120 IF GT<>6 THEN PRINT "BETTER LUCK NEXT TIME!"
  183. 7150 END
  184. 8000 IF FNA(J)<>-1 THEN PRINT "YOU AREN'T CARRYING IT!":GOTO 700
  185. 8010 X=PT%(J)
  186. 8015 IF (X>3 AND X<9) OR X=19 THEN PRINT "DON'T DROP *TREASURES*!":GOTO 700
  187. 8020 IF CP=19 AND J=19 THEN 8100
  188. 8030 IF CP=22 AND J=20 THEN 8200
  189. 8040 OL%(PT%(J))=CP:PRINT "OK":GOTO 700
  190. 8100 PRINT "AS THE PENNY SINKS BELOW THE SURFACE OF"
  191. 8105 PRINT "THE POOL, A FLEETING IMAGE OF A CHAPEL"
  192. 8110 PRINT "WITH DANCERS OUTSIDE APPEARS."
  193. 8130 R%(21,3)=22:OL%(12)=-2:GOTO 700
  194. 8200 PRINT "EVEN BEFORE IT HITS THE GROUND, THE":PRINT "CROSS FADES AWAY"
  195. 8210 PRINT "THE TABLET HAS DISINTEGRATED."
  196. 8215 PRINT "YOU HEAR MUSIC FROM THE ORGAN."
  197. 8220 GG=1:OL%(11)=-2:R$(22)="CHAPEL"
  198. 8221 OM$(24)="CLOSED ORGAN PLAYING MUSIC IN THE CORNER":GOTO 700
  199. 9000 IF J=0 THEN PRINT "SAY WHAT???":GOTO 700
  200. 9010 IF J=14 THEN 9100
  201. 9020 IF J=15 THEN 9200
  202. 9030 IF J>28 THEN 9300
  203. 9040 PRINT "OKAY, '";RIGHT$(IN$,LEN(IN$)-SP);"'."
  204. 9050 FOR X=1 TO 1000:NEXT X:PRINT "NOTHING HAPPENS.":GOTO 700
  205. 9100 IF CP<>4 OR CH THEN PRINT "NOTHING HAPPENS.":GOTO 700
  206. 9110 IN$="THE SNAKE IS CHARMED BY THE VERY UTTERANCE OF YOUR WORDS."
  207. 9111 GOSUB 53000:PRINT
  208. 9120 CH=1:OL%(2)=-2:OL%(3)=4:GOTO 700
  209. 9200 IF CP<>8 OR PO THEN PRINT "NOTHING HAPPENS.":GOTO 700
  210. 9210 PRINT "A PORTAL HAS OPEN IN THE NORTH WALL!!"
  211. 9220 PO=1:R%(8,1)=17:OL%(18)=8:GOTO 700
  212. 9300 PRINT "A HOLLOW VOICE SAYS, 'WRONG ADVENTURE'.":GOTO 700
  213. 10000 IF J<>4 THEN PRINT "I WOULDN'T KNOW HOW.":GOTO 700
  214. 10010 IF OL%(1)<>-1 AND OL%(1)<>CP THEN 51000
  215. 10020 IF BF=0 THEN PRINT "THE BUCKET IS ALREADY EMPTY.":GOTO 700
  216. 10030 IF CP=19 THEN PRINT "OK":GOTO 700
  217. 10040 IF CP=10 AND FB THEN 10050
  218. 10045 PRINT "THE WATER DISAPPEARS QUICKLY.":BF=0:GOTO 700
  219. 10050 PRINT "CONGRATULATIONS! YOU HAVE VANQUISHED":PRINT "THE FLAMES."
  220. 10060 FB=0:BF=0:GOTO 699
  221. 11000 IF J=0 THEN 50000
  222. 11010 IF PT%(J)=-1 THEN PRINT "THAT WOULDN'T HOLD ANYTHING.":GOTO 700
  223. 11020 IF FNA(J)<>CP AND FNA(J)<>-1 THEN 51000
  224. 11030 IF J<>4 THEN PRINT "THAT WOULDN'T HOLD ANYTHING.":GOTO 700
  225. 11040 IF BF THEN PRINT "IT'S ALREADY FULL.":GOTO 700
  226. 11050 IF CP=25 AND PF THEN PRINT "I'D RATHER LEAVE THE MERCURY ALONE.":GOTO 700
  227. 11060 IF CP<>23 AND CP<>19 THEN PRINT "I DON'T SEE ANY WATER HERE.":GOTO 700
  228. 11070 PRINT "YOUR BUCKET IS NOW FULL.":BF=1:GOTO 700
  229. 12000 IF J=0 THEN 50000
  230. 12010 IF J<>12 AND J<>27 THEN PRINT "I DON'T KNOW HOW TO UNLOCK ONE.":GOTO 700
  231. 12020 IF CP<>0 AND CP<>5 AND CP<>6 THEN 51000
  232. 12030 IF CP=0 AND J=12 THEN 12200
  233. 12040 IF CP=5 AND J=27 THEN 12300
  234. 12050 IF CP<>6 OR J<>12 OR OL%(16)=-2 THEN 51000
  235. 12100 PRINT "THE TRAPDOOR HAS NO LOCK":GOTO 700
  236. 12200 IF DU THEN PRINT "IT'S ALREADY UNLOCKED.":GOTO 700
  237. 12210 IF OL%(20)<>-1 THEN PRINT "I NEED A KEY.":GOTO 700
  238. 12220 PRINT "THE DOOR EASILY UNLOCKS AND SWINGS OPEN.":DU=1:GOTO 699
  239. 12300 IF VO THEN PRINT "IT'S ALREADY OPEN.":GOTO 700
  240. 12305 IF FV=0 THEN 51000
  241. 12310 IF KC=0 THEN PRINT "I DON'T KNOW THE COMBINATION.":GOTO 700
  242. 12320 PRINT "OK, LET'S SEE. 12..35..6..":PRINT "<CLICK!> THE DOOR SWINGS OPEN."
  243. 12330 VO=1:R%(5,3)=46:GOTO 699
  244. 14000 IN$="YOU ARE IN THE "+R$(CP)+".":GOSUB 53000:PRINT
  245. 14010 FOR X=1 TO 28:IF OL%(X)<>CP THEN 14020
  246. 14011 IN$="THERE IS A "+OM$(X)+" HERE.":PRINT:GOSUB 53000:PRINT
  247. 14020 IF X=1 AND BF AND OL%(1)=CP THEN PRINT "   THE BUCKET IS FULL OF WATER."
  248. 14030 NEXT X
  249. 14040 IF CP=25 AND PF THEN PRINT "THE POOL IS FULL OF LIQUID MERCURY!"
  250. 14050 IF CP<>25 OR PF THEN 14060
  251. 14055 PRINT "THE POOL'S EMPTY.":IF OL%(7)<>48 THEN 14060
  252. 14056 PRINT "I SEE SOMETHING SHINY IN THE POOL!"
  253. 14060 IF CP<>10 OR FB=0 THEN 14090
  254. 14070 PRINT "THERE IS A HOT FIRE ON THE SOUTH WALL!"
  255. 14080 PRINT "IF I GO THAT WAY I'LL BURN TO DEATH!"
  256. 14090 IF CP<>16 THEN 14110
  257. 14100 IN$="A RICH, FULL VOICE SAYS, 'RITNEW IS A CHARMING WORD'."
  258. 14105 GOSUB 53000:PRINT
  259. 14110 IF CP=26 THEN PRINT "THERE IS A VALVE ON ONE OF THE PIPES."
  260. 14115 IF CP=23 THEN PRINT "THERE IS A LEAKY FAUCET NEARBY."
  261. 14120 IF CP=10 AND FB=0 THEN PRINT "THERE IS EVIDENCE OF A RECENT FIRE HERE."
  262. 14125 IF CP=5 AND FV THEN PRINT "THERE IS A VAULT IN THE EAST WALL."
  263. 14126 IF CP=5 AND VO THEN PRINT "THE VAULT IS OPEN."
  264. 14127 IF CP=0 AND DU THEN PRINT "AN DOOR LEADS NORTH."
  265. 14130 IF CP<>48 THEN PRINT "OBVIOUS EXITS:":IF R%(CP,1)>0 THEN PRINT "N ";
  266. 14140 IF R%(CP,2)>0 THEN PRINT "S ";
  267. 14150 IF R%(CP,3)>0 THEN PRINT "E ";
  268. 14160 IF R%(CP,4)>0 THEN PRINT "W ";
  269. 14170 PRINT:GOTO 700
  270. 15000 IF J<>8 AND J<>18 AND J<>28 THEN 50000
  271. 15010 IF (J=8 AND CP<>48) OR (J=28 AND CP<>25) THEN 51000
  272. 15015 IF J=18 AND CP<>2 AND CP<>27 THEN 51000
  273. 15020 IF J=8 THEN CP=25:GOTO 699
  274. 15030 IF J=28 AND PF THEN PRINT "THE POOL IS FULL OF MERCURY!":GOTO 700
  275. 15040 IF J=28 THEN CP=48:GOTO 699
  276. 15050 IF CP=27 THEN CP=2:GOTO 699
  277. 15060 IF OL%(9)=-1 THEN 15070
  278. 15061 IN$="THE SUITS OF ARMOR PREVENTS YOU FROM GOING UP!":GOSUB 53000
  279. 15062 PRINT:GOTO 700
  280. 15070 PRINT "THE SUITS OF ARMOR TRY TO STOP YOU,"
  281. 15080 PRINT "BUT YOU FIGHT THEM OFF WITH YOUR SWORD.":CP=27:GOTO 699
  282. 16000 IF CP=0 AND DU=0 THEN PRINT "THE DOOR IS LOCKED SHUT.":GOTO 700
  283. 16010 IF R%(CP,1)=0 THEN 52000
  284. 16015 IF CP=0 THEN PRINT "THE DOOR SLAMS SHUT BEHIND YOU!"
  285. 16020 CP=R%(CP,1):GOTO 699
  286. 17000 IF CP=10 AND FB THEN PRINT "YOU HAVE BURNT TO A CRISP!":END
  287. 17010 IF CP=4 AND CH=0 THEN 17060
  288. 17030 D=2:IF I=21 OR I=22 THEN D=3
  289. 17040 IF R%(CP,D)=0 THEN 52000
  290. 17050 CP=R%(CP,D):GOTO 699
  291. 17060 IF PS=0 THEN PRINT "THE SNAKE IS ABOUT TO ATTACK!":PS=1:GOTO 700
  292. 17070 PRINT "THE SNAKE BITES YOU!":PRINT "YOU ARE DEAD.":END
  293. 19000 IF R%(CP,4)=0 THEN 52000
  294. 19010 CP=R%(CP,4):GOTO 699
  295. 20000 PRINT:PRINT "IF YOU WERE TO QUIT NOW,":PRINT "YOU WOULD HAVE A SCORE OF";
  296. 20010 PRINT GT*20;"POINTS.":PRINT "(100 POSSIBLE)"
  297. 20020 PRINT "DO YOU INDEED WISH TO QUIT NOW? ";
  298. 20030 GOSUB 60000
  299. 20040 PRINT:IF LEFT$(IN$,1)="Y" THEN 7010
  300. 20050 IF LEFT$(IN$,1)<>"N" THEN PRINT "PLEASE ANSWER YES OR NO":GOTO 20020
  301. 20060 PRINT "OK":PRINT:GOTO 700
  302. 21000 IF J<>7 THEN PRINT "I DON'T KNOW HOW TO TURN SUCH A THING.":GOTO 700
  303. 21010 IF CP<>26 THEN 51000
  304. 21020 IN$="WITH MUCH EFFORT, YOU TURN THE VALVE 5 TIMES. YOU HEAR THE SOUND"
  305. 21030 IN$=IN$+"OF LIQUID ":GOSUB 53000:PRINT:PRINT "FLOWING THROUGH PIPES."
  306. 21040 PF=1-PF
  307. 21050 IF PF=0 AND OL%(7)=-3 THEN OL%(7)=25:GOTO 700
  308. 21060 IF PF AND OL%(7)=25 THEN OL%(7)=-3:GOTO 700
  309. 21070 GOTO 700
  310. 22000 IF CP<>27 AND CP<>29 AND CP<>32 THEN 22050
  311. 22010 PRINT "YOU JUMP..":IF CP=27 THEN 22500
  312. 22020 IF OL%(14)=-1 THEN 22100
  313. 22030 IF OL%(27)=-1 THEN 22200
  314. 22040 PRINT "YOU HIT THE GROUND.":GOTO 22540
  315. 22050 PRINT "THERE'S NOWHERE TO JUMP.":GOTO 700
  316. 22100 PRINT "THERE IS NO WAY TO OPEN THE PARACHUTE!":GOTO 22040
  317. 22200 PRINT "YOU YANK THE RIPCORD AND THE"
  318. 22210 PRINT "'CHUTE COMES BILLOWING OUT.":IF CP=32 THEN CP=40:GOTO 699
  319. 22220 PRINT "YOU LAND SAFELY":PRINT "CONGRATULATIONS ON ESCAPING!"
  320. 22230 ES=1:GOTO 7010
  321. 22500 IF JM THEN 22530
  322. 22510 PRINT "YOU HAVE LANDED DOWN-STAIRS,":PRINT "AND NARROWLY ESCAPED SERIOUS"
  323. 22520 PRINT "INJURY. PLEASE DON'T TRY IT AGAIN.":JM=1:CP=2:GOTO 699
  324. 22530 PRINT "NOW YOU'VE DONE IT! YOU IGNORED"
  325. 22535 PRINT "MY WARNING, AND AS A RESULT"
  326. 22540 PRINT "YOU HAVE BROKEN YOUR NECK!":PRINT "YOU ARE DEAD.":END
  327. 24000 IF CP=19 THEN PRINT "THE WATER IS ONLY A FEW INCHES DEEP.":GOTO 700
  328. 24010 IF CP<>25 THEN PRINT "THERE'S NOTHING HERE TO SWIM IN!":GOTO 700
  329. 24020 IF PF THEN PRINT "IN MERCURY? NO WAY!":GOTO 700
  330. 24030 PRINT "THE POOL IS EMPTY.":GOTO 700
  331. 25000 IF J=0 THEN 50000
  332. 25010 IF J=7 THEN PRINT "I AIN'T NO PLUMBER.":GOTO 700
  333. 25020 IF J<>17 THEN PRINT "I WOULDN'T KNOW HOW.":GOTO 700
  334. 25030 IF FNA(J)<>CP AND FNA(J)<>-1 THEN 51000
  335. 25040 IF OL%(14)=-2 THEN PRINT "IT'S ALREADY FIXED.":GOTO 700
  336. 25050 IF OL%(17)<>-1 THEN PRINT "I NEED A RIPCORD.":GOTO 700
  337. 25060 PRINT "I'M NO EXPERT, BUT I THINK IT'LL WORK."
  338. 25070 OL%(27)=OL%(14):OL%(14)=-2:PT%(17)=27:OL%(17)=0:GOTO 700
  339. 50000 PRINT H$(EM):EM=3-EM:GOTO 700
  340. 51000 PRINT "I DON'T SEE IT HERE.":GOTO 700
  341. 52000 PRINT "IT'S IMPOSSIBLE TO GO THAT WAY.":GOTO 700
  342. 53000 IF LEN(IN$)<=40 THEN PRINT IN$;:RETURN
  343. 53005 OE=40
  344. 53010 IF MID$(IN$,OE,1)<>" " THEN OE=OE-1:GOTO 53010
  345. 53020 PRINT LEFT$(IN$,OE):PRINT RIGHT$(IN$,LEN(IN$)-OE);:RETURN
  346. 60000 IN$=" ":ZT=TI:ZC=2:ZD$=CHR$(20)
  347. 60010 GET Z$:IF Z$<>"" THEN 60070
  348. 60020 IF ZT<=TI THEN PRINT MID$(" [166]",ZC,1);"[157]";:ZC=3-ZC:ZT=TI+15
  349. 60030 GOTO 60010
  350. 60070 Z=ASC(Z$):ZL=LEN(IN$):IF (Z AND 127)<32 THEN PRINT " [157]";:GOTO 60110
  351. 60090 IF ZL>QI THEN 60010
  352. 60100 IN$=IN$+Z$:PRINT Z$;ZD$;Z$;
  353. 60110 IF Z=13 THEN IN$=MID$(IN$,2):PRINT CR$;:RETURN
  354. 60120 IF Z=20 AND ZL>1 THEN IN$=LEFT$(IN$,ZL-1):PRINT "[157]";:GOTO 60010
  355. 60130 IF ZFZ=141 THEN Z$=CHR$(-20*(ZL>1)):FOR Z=2 TO ZL:PRINT Z$;:NEXT:GOTO 60000
  356. 60140 GOTO 60010
  357. 61000 CRT=1024:VIC=53248:WD=40:CR$=CHR$(13):SID=54272:JS=56320:CM=55296
  358. 61010 QL=214:QI=254:RETURN
  359. 62000 GOSUB 61000:POKE VIC+32,0:POKE VIC+33,0:LN=LEN(PG$):TB=(40-LN)/2
  360. 62010 PRINT "[147][158]" TAB(TB)LEFT$("                     ",LN)
  361. 62020 PRINT "" TAB(TB)PG$:PRINT "" TAB(TB)LEFT$("                     ",LN)
  362. 62030 PRINT "" TAB((40-LEN(AU$))/2)AU$
  363. 62040 MS$="HIT RETURN TO BEGIN":IF JF THEN MS$="HIT JOYSTICK BUTTON TO BEGIN"
  364. 62050 TB=((40-LEN(MS$))/2)
  365. 62060 PRINT "[159]" TAB(TB)MS$:PRINT "[159]         (C) 1983 THE CODE WORKS"
  366. 62070 GET IN$:IF IN$<>"" THEN 62120
  367. 62080 IF (PEEK(JS) AND 16)=0 THEN 62120
  368. 62090 PRINT "" TAB(TB)LEFT$("[156][159]",K+1)LEFT$(MS$,Q)
  369. 62100 Q=Q+1:IF Q>LEN(MS$) THEN Q=0:K=1-K
  370. 62110 GOTO 62070
  371. 62120 CLR:PRINT "[147]":GOSUB 61000:GOTO 100
  372.