home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / TRANSYL2.DSK / DTRANS.bas < prev    next >
BASIC Source File  |  2014-09-09  |  27KB  |  411 lines

  1. 1  ONERR  GOTO 30050
  2. 5  DIM OD$(39),T%(39),P%(39),RT%(38),D%(38,5):EC = 2: ONERR  GOTO 58
  3. 10  HOME : VTAB 23:R =  -21:O = 24: CALL 38311
  4. 11  PRINT "Would you like to restore a saved game?";: GET E$: PRINT : PRINT : IF E$ = "Y"  THEN  CALL 38311: HOME : GOTO 50
  5. 12  IF E$ < >"N"  AND E$ < >"n"  THEN J$ = E$: GOSUB 24000: GOTO 11
  6. 15  HOME : CALL 38311: PRINT "<CTRL-D>OPENDATA": PRINT "<CTRL-D>READDATA"
  7. 20  INPUT NZ: DIM N%(NZ): FOR I = 1 TO NZ: INPUT N%(I): NEXT : INPUT M: FOR I = 1 TO M: INPUT OD$(I),P%(I),T%(I): NEXT : INPUT LZ: FOR I = 1 TO LZ: INPUT RT%(I): FOR X = 0 TO 5: INPUT D%(I,X): NEXT : NEXT 
  8. 25  IF E$ = "Y"  THEN  INPUT SM,GT,SH,PO,GN,DR,H,R,W,V,WF,VR,ZZ,YN$
  9. 30  PRINT "<CTRL-D>CLOSE":EC = 3: HOME : VTAB 21: IF E$ = "Y"  THEN  GOSUB 120: HOME : VTAB 21: GOSUB 110: GOSUB 220: CALL 38311: GOSUB 130: PRINT "So ";YN$;", you came back?..<CTRL-M>Good luck...": GOTO 7990
  10. 35  GOTO 874
  11. 50 EC = 1: GOSUB 120: HOME : VTAB 8: GOSUB 100: INPUT "Name of saved game : ";J$: GOSUB 130: PRINT "<CTRL-D>NOMONCIO": PRINT "<CTRL-D>OPEN";J$: PRINT "<CTRL-D>READ";J$: INPUT P,TU: GOTO 20
  12. 58  VTAB 24: PRINT "<CTRL-G><CTRL-G>Disk Error.": ON EC GOTO 60,65,70
  13. 60  GOSUB 100: GOTO 50
  14. 65  GOSUB 110: GOTO 10
  15. 70  GOSUB 110: GOTO 1000
  16. 100  PRINT "Insert your Data Disk.": RETURN 
  17. 110  PRINT "Insert your Game Disk.": RETURN 
  18. 120  POKE  -16303,0: PRINT  CHR$(17);: CALL 38332: POKE 33,40: POKE 34,LD: RETURN 
  19. 130  PRINT  CHR$(18);: POKE  -16304,0: POKE 33,40: POKE 34,LD: RETURN 
  20. 140 DL = 150
  21. 145  FOR I = 1 TO DL: IF  PEEK( -16384) >127  THEN I = DL: POKE  -16368,0
  22. 150  NEXT :DL = 0: RETURN 
  23. 200  PRINT "It's locked.": GOTO 7000
  24. 210  PRINT "Not here.": GOTO 7000
  25. 220  PRINT "<Press a key to continue>";: GET E$: PRINT : PRINT : RETURN 
  26. 230  PRINT "I'm sorry - I don't understand.": GOTO 7000
  27. 240  PRINT "Sorry - you can't.": GOTO 7000
  28. 260  PRINT "It won't budge.": GOTO 7000
  29. 270  GOSUB 8070: GOTO 7000
  30. 280  PRINT "It's already open.": GOTO 7000
  31. 290  PRINT "Nothing happened.": GOTO 7000
  32. 300  PRINT "You found something!":P%(15) = 37: RETURN 
  33. 310  PRINT "Slippery moss covers the trees, making  them impossible to climb.": GOTO 7000
  34. 320  PRINT "You slid back down as if you were<CTRL-M>pushed.": GOTO 7000
  35. 330  PRINT "You don't have it.": GOTO 7000
  36. 874 ZZ = 10:P = 1:Y = 12: GOSUB 120: HOME : VTAB 10: POKE 49168,0: PRINT "Velcome to Transylvania! Von't you<CTRL-M>please sign the guest register?...": INPUT "Your name? ";YN$: INPUT "And your next of kin? ";E$: GOSUB 130: VTAB 24
  37. 876  PRINT "Far away a clock strikes ";Y;".": GOSUB 220: IF Y = 5  THEN 27000
  38. 880  GOTO 7990
  39. 990  VTAB O -1
  40. 1000  PRINT "Command : ";: CALL 38283:I =  PEEK(38309):X =  PEEK(38308)
  41. 1010  IF I = 255  THEN  PRINT "I don't know that command.": GOTO 1000
  42. 1020  IF X = 255  THEN  PRINT "I don't know that word.": GOTO 1000
  43. 1022  IF X = 128  AND P = 5  THEN X = 25
  44. 1024  IF X = 128  AND P = 37  THEN X = 70
  45. 1030  IF N%(X) <0  THEN X =  -N%(X)
  46. 1165  ON I GOTO 5700,5700,5700,5700,5490,5490,5490,5490,5490,5490,3000,3000,3000,3000,4000,4000,4000,7700,7500,7600,1500,9700,4600,4500,4900,4700,9800,9800,6500,6600,1500,6700,30040,30040,9400,1500,3000,4800,6300,6400,7800,7800,9600,2990
  47. 1167  ON I -44 GOTO 25000,5950,6140,1110,8500,2000,8500,9000,7900,9400,9900,4900,4200,4300,9400,4400,4600,9800,10000,1500,11000,7700,290,290,290,10000,11000,4000,290,210,240,230,290,290,6142,3000,240,240,240,290,230,4000,240,240,1599
  48. 1500  IF X = 10  AND P%(8) = P  THEN  PRINT "It looks rather peckish.": GOTO 7000
  49. 1505  IF X = 37  AND P = 2  THEN  PRINT "There's an old, wooden coffin in it.": GOTO 7000
  50. 1507  IF X = 30  AND P%(37) = P  THEN  PRINT "It looks back.": GOTO 7000
  51. 1510  IF X = 13  AND RT%(P) <3  THEN 310
  52. 1515  IF X = 34  AND P%(34) = P  THEN  PRINT "His hair is perfect.": GOTO 7000
  53. 1520  IF X = 52  AND P%(10) = P  THEN  PRINT "He is an obnoxious-looking creature.": GOTO 7000
  54. 1525  IF X = 54  THEN  PRINT "I thought I saw a light flickering in a high tower room.": GOTO 7000
  55. 1530  IF X = 66  AND P%(33) = P  THEN  PRINT "It's entitled 'The Joy of Magic'.": GOTO 7000
  56. 1535  IF X = 71  AND P%(N%(71)) = P  THEN  PRINT "Suddenly your mission seems much more<CTRL-M>worthwhile...": GOTO 7000
  57. 1536  IF X = 72  AND (P = 24  OR P = 25)  THEN  PRINT "In the distance you see a castle with a skull chiseled in its side.": GOTO 7000
  58. 1540  IF X = 75  AND P%(27) =  -2  THEN  PRINT "There is a button on its smooth black<CTRL-M>surface.": GOTO 7000
  59. 1545  IF X = 16  AND P%(2) = P  THEN  PRINT "A quivering, muffled voice within the<CTRL-M>statue cries 'Help!'": GOTO 7000
  60. 1550  IF X = 27  AND P%(13) = P  AND   NOT GT  THEN 200
  61. 1555  IF X = 25  AND P = 5  THEN  PRINT "It says 'Here Lies ";YN$;"'<CTRL-M>... and it has today's date.": GOTO 7000
  62. 1560  IF X = 47  THEN 1700
  63. 1562  IF X = 61  THEN 1750
  64. 1570  IF X = 67  THEN 1780
  65. 1575  IF X = 51  THEN 9710
  66. 1599  PRINT "You see nothing unusual.": GOTO 7000
  67. 1700  IF P%(26) < > -1  THEN  PRINT "It is covered with shiny runes and<CTRL-M>stars.": GOTO 7000
  68. 1720  IF P%(3) = P  OR P%(3) =  -2  THEN  PRINT "You found a lock pick in the folds of<CTRL-M>the cloak's fabric.":P%(26) = P:I = 26: GOTO 270
  69. 1730  GOTO 210
  70. 1750  IF P = 9  OR P = 10  THEN 1765
  71. 1755  IF P = 31  THEN  PRINT "It's glowing red hot.": GOTO 7000
  72. 1760  GOTO 210
  73. 1765  IF DR  THEN 280
  74. 1770  GOTO 200
  75. 1780  IF P < >10  THEN 210
  76. 1785  PRINT "As you gaze into the crystal ball you<CTRL-M>see a small orange flame burning with<CTRL-M>an unnatural brilliance. As you peer": GOSUB 220: PRINT "deeper into the fire, you see yourself<CTRL-M>standing somewhere in the woods, near a"
  77. 1786  PRINT "statue. A figure clad in a wizard's": GOSUB 220: PRINT "cloak approaches the statue. On his handhe wears a shiny gold ring which glows<CTRL-M>with a soft, white flame. With a wave": GOSUB 220: PRINT "of his hand, everything around the"
  78. 1787  PRINT "Statue goes ablaze with bright green<CTRL-M>fire. You feel a jolt of thunder and": GOSUB 220: PRINT "return to your senses, stepping away<CTRL-M>from the crystal ball.": GOSUB 220: GOTO 7000
  79. 2000  IF H >0  THEN 2020
  80. 2010  PRINT "You are carrying nothing.": GOTO 7000
  81. 2020  PRINT "You are carrying: ": FOR I = 1 TO M: IF P%(I) =  -2  THEN  PRINT OD$(I)
  82. 2030  NEXT I: GOTO 7000
  83. 2990  IF X < >121  THEN 3000
  84. 2995  IF P = 9  OR P = 10  THEN 6315
  85. 2996  GOTO 240
  86. 3000  IF X = 9  THEN 2000
  87. 3001  IF X = 6  THEN  PRINT "Boogie!": GOTO 7000
  88. 3002  IF X = 66  THEN 3080
  89. 3003  IF X = 65  THEN 3090
  90. 3005  IF X = 99  THEN 10000
  91. 3006  IF X = 117  THEN 11000
  92. 3008  IF X = 161  THEN  PRINT "Greedy, huh?"
  93. 3010 I = N%(X): IF   NOT I  THEN 240
  94. 3029  IF X = 36  OR X = 35  OR X = 22  THEN 3061
  95. 3030  IF T%(I) = 0  THEN 240
  96. 3035  IF H <5  THEN 3045
  97. 3040  PRINT "You are carrying too much. Better drop  something first.": GOTO 7000
  98. 3045  IF P%(I) =  -2  THEN  PRINT "You are already carrying it!": GOTO 7000
  99. 3050  GOTO 3065
  100. 3061  IF P%(24) = 7  THEN  PRINT "The cat scowls fiercely and won't let<CTRL-M>you near.": GOTO 7000
  101. 3062  GOTO 3030
  102. 3065  IF P%(I) < >P  THEN 210
  103. 3066  IF X = 69  THEN  GOSUB 300
  104. 3067  IF X = 63  AND   NOT VR  THEN  PRINT "A mysterious barrier prevents you from<CTRL-M>touching it.": GOTO 7000
  105. 3070 AX = 0:DL = 30: PRINT "Ok.":H = H +1:P%(I) =  -2: GOTO 7000
  106. 3080  IF P = 9  THEN  PRINT "As you try to take the book a mysteriousvoice shouts 'IT IS MINE! GO AWAY!'...<CTRL-M>You are back in the forest.": GOSUB 220:P = 1: GOTO 7000
  107. 3081  GOTO 240
  108. 3090  IF P%(31) > -2  THEN  PRINT "The flies scattered before you could<CTRL-M>catch any of them.": GOTO 7000
  109. 3095  IF P%(7) = P  THEN  PRINT "Many flies escaped, but you did manage<CTRL-M>to catch several of them with the paper.": GOSUB 220:T%(7) = 1:OD$(7) = "flies.":H = H -1:P%(31) = P: GOTO 3010
  110. 3096  GOTO 210
  111. 4000 I = N%(X): IF   NOT I  THEN 240
  112. 4015  IF P%(I) < > -2  THEN 330
  113. 4020  IF X = 71  THEN H = H -1:AX = 0:P%(I) = P: GOTO 7990
  114. 4035  PRINT "Ok.":H = H -1
  115. 4047  IF X = 65  THEN 4090
  116. 4048  IF X = 31  THEN 4190
  117. 4070 P%(I) = P: GOTO 270
  118. 4090  IF P < >16  OR P%(8) < >16  THEN 4070
  119. 4100  PRINT "The bullfrog springs forward and wolfs<CTRL-M>down the flies. 'Thanks,' he says, 'Thathowling sure whets your appetite. Say"
  120. 4110  GOSUB 220: PRINT "'IJNID' to the goblin for me.' He hops<CTRL-M>into the murky waters of the lake and<CTRL-M>vanishes.": GOSUB 220:P%(8) =  -1:P%(7) =  -1:AX = 0:DL = 0: GOTO 7000
  121. 4190  IF P = 7  AND P%(24) = P  THEN ZZ = 11: PRINT "The mice run away and the cat chases<CTRL-M>after them.":P%(24) =  -1:P%(20) =  -1:T%(25) = 1:T%(1) = 1:AX = 0:DL = 250: GOTO 7000
  122. 4191  GOTO 4070
  123. 4200  IF   NOT X  THEN  PRINT "Have you inspected everything?": GOTO 1000
  124. 4210  GOTO 240
  125. 4300  IF X = 10  AND P%(7) =  -2  AND P = 16  AND P%(8) = 16  THEN 4100
  126. 4310  GOTO 240
  127. 4400 I = N%(X): IF   NOT I  THEN 240
  128. 4405  IF P%(I) < > -2  THEN 330
  129. 4410  PRINT "Ok.": GOTO 7000
  130. 4500  IF X < >33  THEN 230
  131. 4502  IF GN  THEN  PRINT "It already is.": GOTO 7000
  132. 4503  IF P%(17) < > -2  OR P%(22) < > -2  THEN 240
  133. 4510 P%(22) =  -1:GN = 1: PRINT "Ok.":OD$(17) = "loaded flintlock pistol.":H = H -1: GOTO 7000
  134. 4600  IF   NOT GN  OR P%(17) < > -2  OR I = 61  AND X < >33  THEN 240
  135. 4602  IF I = 61  THEN 4606
  136. 4605  IF P%(34) = P  AND X = 34  THEN  PRINT "Got him!  With a desperate howl the<CTRL-M>werewolf collapses. Slowly its outline<CTRL-M>changes to that of a decrepit old man,": GOSUB 220: PRINT "then crumbles into dust!":WF = 1:P%(34) =  -1:DL = 100: GOTO 4607
  137. 4606  PRINT "Missed.":P%(22) = P +3
  138. 4607 OD$(17) = "smoking flintlock pistol.":GN = 0:AX = 0: GOTO 7000
  139. 4700  IF X = 69  THEN 7820
  140. 4701  IF X < >46  THEN 260
  141. 4702  IF P < >21  AND P < >22  THEN 210
  142. 4703  PRINT "The wall spins and...": IF P = 21  THEN P = 22: GOTO 7000
  143. 4704 P = 21: GOTO 7000
  144. 4800  IF X = 36  THEN 4860
  145. 4805  IF X < >28  THEN 230
  146. 4815  IF PO  THEN  PRINT "You already did!": GOTO 7000
  147. 4820  IF P%(36) < > -2  THEN 230
  148. 4840  IF P < >37  OR P%(16) < >37  THEN 4856
  149. 4855  IF SH  THEN PO = 1: PRINT "Ok.": PRINT "You see lightning off in the distance.": GOTO 4859
  150. 4856  PRINT "Nothing happened."
  151. 4859 H = H -1:P%(36) =  -1: GOTO 7000
  152. 4860  IF P%(1) < > -2  THEN 230
  153. 4867  IF P = 1  THEN  PRINT "The acid sizzles violently over the<CTRL-M>writing.  You can read it now.":SM = 1: GOTO 6666
  154. 4868  PRINT "Sizzling slightly, the acid seeps into<CTRL-M>the ground.": GOTO 6666
  155. 4900  IF X < >76  THEN 260
  156. 4910  IF P%(27) < > -2  AND P%(27) < >P  THEN 210
  157. 4930  PRINT "Dazzling light shoots from the box and": IF P = 9  OR P = 10  THEN  PRINT "causes the roof of the cave to collapse -- crushing you instantly.": GOSUB 220: GOTO 30000
  158. 4933  IF P%(15) = P  THEN  PRINT "envelops the sarcophagus. In a violent<CTRL-M>blast the lid flies off and explodes in": GOSUB 220: PRINT "a cascade of glowing dust.":P%(15) =  -1:P%(16) = 37:AX = 0:DL = 300: GOTO 7000
  159. 4934  IF P <38  AND P >26  THEN  PRINT "shakes the room with a fantastic jolt ofpower.": GOSUB 220: GOTO 7000
  160. 4935  PRINT "uproots a tree.": GOTO 7000
  161. 5490 X = I -5
  162. 5500  IF D%(P,X) = 0  THEN 5620
  163. 5510 P = D%(P,X): GOTO 7000
  164. 5620  PRINT "You can't go in that direction.": GOTO 7000
  165. 5700  IF   NOT X  THEN  PRINT "I also need a direction.": GOTO 1000
  166. 5730  IF X <7  THEN X = X -1: GOTO 5500
  167. 5735  IF X = 8  THEN 10000
  168. 5736  IF X = 7  THEN 11000
  169. 5737  IF X = 57  THEN 12000
  170. 5740  IF X = 99  THEN  PRINT "Sorry...It's too dangerous.": GOTO 7000
  171. 5745  IF X = 56  AND P = 16  THEN  PRINT "What shall I do with it?": GOTO 1000
  172. 5750  IF X = 12  AND P = 16  THEN 320
  173. 5760  IF X = 13  THEN 310
  174. 5770  IF X = 19  THEN  PRINT "The rock slide is impenetrable.": GOTO 7000
  175. 5780  IF X = 20  AND P = 6  THEN P = 7: GOTO 7000
  176. 5790  IF X = 27  THEN 6010
  177. 5800  IF X = 29  THEN  PRINT "Are you CRAZY?!": GOTO 7000
  178. 5810  IF X = 37  AND P = 2  THEN P = 38: GOTO 7000
  179. 5820  IF X = 38  AND P = 23  THEN P = 24: GOTO 7000
  180. 5830  IF X = 39  AND P = 19  THEN P = 21: GOTO 7000
  181. 5840  IF X = 40  AND P = 19  THEN P = 20: GOTO 7000
  182. 5850  IF X = 54  AND P = 13  THEN P = 27: GOTO 7000
  183. 5880  IF X = 59  AND P = 36  THEN 6095
  184. 5890  IF X = 60  AND P = 31  THEN 6107
  185. 5900  IF X = 61  THEN 6110
  186. 5920  IF X = 73  AND P%(28) = P  THEN  PRINT "Fantastic! Utterly fascinating!..OH NO! ...Everything is getting black--HELP!!": GOSUB 220:P%(28) =  -1:P%(29) = 4:H = H +1:P%(27) =  -2:AX = 0: GOTO 7000
  187. 5950  GOTO 240
  188. 6010  IF GT  THEN P = 11: GOTO 7000
  189. 6011  GOTO 200
  190. 6095  IF VR  THEN P = 37: GOTO 7000
  191. 6096  PRINT "Someone shook the ladder, knocking you<CTRL-M>to the floor.": GOTO 7000
  192. 6107  PRINT "You spot 256 dazzling penguins-- each a different color! One asks you if you've tried the Double-Res Graphics Magician.": GOSUB 220: PRINT "Suddenly, you're back in the cellar.": GOTO 1000
  193. 6110  IF P = 31  THEN 6107
  194. 6111  IF P < >9  AND P < >10  THEN X = 0: GOTO 5700
  195. 6112  IF   NOT DR  THEN 200
  196. 6114  IF P = 9  THEN P = 10: GOTO 7000
  197. 6115 P = 9: GOTO 7000
  198. 6140  IF X = 56  THEN I = 59: GOTO 9400
  199. 6142  IF X < >22  THEN 290
  200. 6145  IF P%(25) < > -2  AND P%(25) < >P  OR T%(25) = 0  THEN 210
  201. 6146  IF P%(24) = P  THEN 3061
  202. 6150  PRINT "The broomstick bucks violently, but you are finally able to master it. It soars high over the woods, showing you the":P%(25) =  -1:P = 15: GOSUB 220:H = H -1
  203. 6160  PRINT "hills of Transylvania bathed in a pale<CTRL-M>moonlight. The broom dives, circling<CTRL-M>twice around a gloomy castle. To the": GOSUB 220: PRINT "south you see a lake extending far<CTRL-M>beyond the forest. Suddenly the broom"
  204. 6170  PRINT "plunges toward the lake. You are shaken": GOSUB 220: PRINT "loose and fall into a large willow on<CTRL-M>the shore.  The last sound you hear is<CTRL-M>the loud, chilling cackle of a witch!": GOSUB 220: GOTO 7000
  205. 6300  IF X = 27  THEN 6370
  206. 6301  IF X < >61  THEN 240
  207. 6310  IF P < >9  AND P < >10  THEN 210
  208. 6315  IF DR  THEN 280
  209. 6320  IF P%(26) =  -2  THEN DR = 1: PRINT "Ok.": GOTO 7000
  210. 6330  GOTO 240
  211. 6370  IF P < >5  THEN 210
  212. 6375  IF GT  THEN 280
  213. 6380  IF P%(11) < > -2  THEN 240
  214. 6390 GT = 1: PRINT "Ok.": GOTO 7000
  215. 6400  IF X = 27  THEN 6470
  216. 6401  IF X < >61  THEN 240
  217. 6410  IF P < >9  AND P < >10  THEN 210
  218. 6415  IF DR  THEN DR = 0: PRINT "Ok.": GOTO 7000
  219. 6417  GOTO 200
  220. 6470  IF P < >5  THEN 210
  221. 6475  IF   NOT GT  THEN 200
  222. 6480  IF P%(11) < > -2  THEN 240
  223. 6490 GT = 0: PRINT "Ok.": GOTO 7000
  224. 6500  IF X = 43  THEN 6570
  225. 6510  IF X < >41  THEN  PRINT "Yecchhh!": GOTO 7000
  226. 6530  IF P%(9) < >P  AND P%(9) < > -2  THEN 210
  227. 6534  PRINT "It tasted awful.":AX = 0:DL = 125: IF P%(9) =  -2  THEN AX = 1:H = H -1
  228. 6535 P%(9) =  -1: GOTO 7000
  229. 6570  IF P%(32) < >P  AND P%(32) < > -2  THEN 210
  230. 6580  PRINT "Ok.":AX = 0:DL = 30: IF P%(32) =  -2  THEN AX = 1:H = H -1
  231. 6581 P%(32) =  -1: GOTO 7000
  232. 6600  IF X = 117  THEN 6620
  233. 6605  IF X = 36  THEN 6640
  234. 6610  IF X = 28  THEN  PRINT "To you that stuff is poisonous!": GOTO 7000
  235. 6615  GOTO 230
  236. 6620  IF P < >16  THEN 240
  237. 6625  PRINT "Aah! that hits the spot!": GOTO 7000
  238. 6640  IF P%(1) < > -2  THEN 210
  239. 6665  PRINT "The acid burns your mouth and you<CTRL-M>instinctively spit it out."
  240. 6666  GOSUB 220: PRINT "Oops! The bottle slipped!<CTRL-M>SMASH!":H = H -1:P%(1) =  -1: GOTO 7000
  241. 6700  IF X = 12  AND P = 16  THEN 320
  242. 6705  IF X = 57  THEN 12000
  243. 6710  IF X = 59  THEN 5880
  244. 6711  IF X < >13  THEN 240
  245. 6712  IF P < >16  THEN 310
  246. 6725  GOTO 320
  247. 7000  IF P%(39) < >P  THEN V =  -1
  248. 7001  IF P%(34) < >P  THEN W =  -1
  249. 7003  IF P < >35  AND P%(5) = 35  THEN P%(5) =  -1:N%(62) = 23:P%(4) =  -1:P%(23) = 35
  250. 7005 TU = TU +1: IF  INT(TU/70) = TU/70  THEN Y = TU/70: GOTO 876
  251. 7015  IF TU -V = 1  THEN  PRINT "You feel a pinch on your neck, the room spins, and you black out...": GOSUB 220: GOTO 30000
  252. 7020  IF TU -W = 1  THEN  PRINT "Too late! The furry fiend just had you<CTRL-M>for dinner...": GOSUB 220: GOTO 30000
  253. 7021  IF P%(20) <1  THEN 7030
  254. 7022 I = P%(20): IF I = CR  THEN AX = 0:DL = 0
  255. 7023  IF I = 2  THEN I = 17: GOTO 7028
  256. 7024  IF I = 19  THEN I = 2
  257. 7025  IF I = 3  THEN I = 19
  258. 7026  IF I = 17  THEN I = 3
  259. 7027  IF I = 38  OR I = 74  THEN I = I -36
  260. 7028 P%(20) = I: IF I = CR  AND AX  THEN I = 20: GOSUB 8070
  261. 7030  IF TU -R = 20  THEN  PRINT "I thought I saw a shooting star!":P%(28) = 4:AX = 0:DL = 100: GOTO 7990
  262. 7031  IF P%(39) = P  OR P%(34) = P  THEN 7140
  263. 7040  IF P = 7  THEN 7330
  264. 7050  IF P < >26  OR P%(10) < >26  THEN 7060
  265. 7052 Z =  INT( RND(1) *4) +1: ON Z GOTO 7054,7055,7056
  266. 7053  PRINT "Someone just gave you a hotfoot! AAAAH!": GOTO 7990
  267. 7054  PRINT "Someone just dumped water on you!": GOTO 7990
  268. 7055  PRINT "The goblin just gave you a juicy bronx<CTRL-M>cheer!": GOTO 7990
  269. 7056  PRINT "Someone just set your hair on fire! You were able to put it out, though.": GOTO 7990
  270. 7060  IF P >26  AND P <38  THEN 7350
  271. 7090  IF WF  THEN 7140
  272. 7100  IF  RND(1) <.67  OR TU <10  THEN 7140
  273. 7125  IF P = 15  OR P = 9  OR P = 10  OR P = 26  OR P = 22  THEN 7990
  274. 7130 W = TU:P%(34) = P: IF CR = P  AND AX  THEN I = 34:AX = 0: GOTO 7990
  275. 7140  IF  RND(1) >.2  THEN 7990
  276. 7170 Y =  INT( RND(1) *ZZ) +1
  277. 7171  IF   NOT AX  THEN 7990
  278. 7175  ON Y GOTO 7180,7185,7190,7195,7200,7205,7210,7215,7220,7270,7225
  279. 7180  PRINT "A witch's cackle cuts through the still air of the night.": GOTO 7990
  280. 7185  PRINT "A few bats hovered over you for a while,but flew away.": GOTO 7990
  281. 7190  PRINT "You hear a wolf howl in the distance.": GOTO 7990
  282. 7195  PRINT "You hear moaning noises in the distance.": GOTO 7990
  283. 7200  PRINT "A strange, ghostly shape just floated<CTRL-M>past mournfully crying '";YN$;",": PRINT YN$;"...'": GOTO 7990
  284. 7205  PRINT "You heard some rustling noises nearby.": GOTO 7990
  285. 7210  PRINT "A rough voice shouts 'GET OUT!'": GOTO 7990
  286. 7215  PRINT "HOOOO! HOOOO! (who?) - Just an owl.": GOTO 7990
  287. 7220  PRINT "A grim chuckle erupts behind you.": GOTO 7990
  288. 7225  PRINT "A cat darted by, followed by three<CTRL-M>ravenous-looking mice.": GOTO 7990
  289. 7270  IF RT%(P) >2  THEN 7990
  290. 7271  PRINT "A giant eagle swoops down on you, graspsyou in its talons, and takes you to<CTRL-M>another part of the forest.": GOSUB 220
  291. 7272 P =  INT( RND(1) *23) +1: IF RT%(P) >2  OR CR = P  THEN 7272
  292. 7273 P%(34) =  -1: GOTO 7990
  293. 7330  IF  RND(1) <.5  OR P%(24) < >7  OR P < >7  THEN 7990
  294. 7338  PRINT "You hear a loud, hissing 'Meow'.": GOTO 7990
  295. 7350  IF P%(32) =  -2  OR VR  THEN 7990
  296. 7355  IF  RND(1) <.2  THEN P%(39) = P:V = TU: IF CR = P  AND AX  THEN I = 39: GOSUB 8070
  297. 7370  GOTO 7990
  298. 7500  IF X = 29  AND P = 38  THEN AX = 0: PRINT "As you lift the lid an overpowering<CTRL-M>stench hits you...":N%(29) = 19:P%(20) = 74:P%(19) = 38:P%(22) = 38:P%(37) = 38:P%(21) =  -1:DL = 250: GOTO 7000
  299. 7502  IF X = 61  THEN 6310
  300. 7505  IF X = 62  THEN 7530
  301. 7510  IF X = 70  AND P = 37  THEN  PRINT "Give up-The sarcophagus is hermetically sealed.": GOTO 7000
  302. 7515  IF X = 72  THEN  PRINT "It seems bolted down somehow.": GOTO 7000
  303. 7516  IF X < >27  OR P%(13) < >P  THEN 230
  304. 7525  IF GT  THEN 280
  305. 7526  GOTO 200
  306. 7530  IF P < >35  THEN 210
  307. 7534  IF P%(23) = P  THEN N%(62) = 4:P%(4) = P:P%(5) = P: PRINT "Ok.":P%(23) =  -1:AX = 0:DL = 30: GOTO 7000
  308. 7535  GOTO 280
  309. 7600  IF X < >29  THEN 240
  310. 7601 N%(34) = 21:P%(37) =  -1:P%(21) = 38:P%(19) =  -1:AX = 0: IF P%(22) = 38  THEN P%(22) =  -1
  311. 7602  GOTO 7000
  312. 7700  IF (X = 63  OR X = 115)  AND P = 4  AND P%(3) =  -2  AND P%(5) =  -2  THEN 7745
  313. 7701  IF X = 26  AND P%(6) =  -2  THEN 7769
  314. 7702  IF X = 28  THEN 7780
  315. 7705  GOTO 290
  316. 7745  PRINT "A stream of white fire shoots from your<CTRL-M>ring onto the statue. Green and white<CTRL-M>flames burn quickly, engulfing all that": GOSUB 220: PRINT "is around you. Suddenly, a red fireball emerges, quelling the white and green"
  317. 7746  PRINT "flames in its fury. The awkward": GOSUB 220: PRINT "silhouette of an alien creature appears<CTRL-M>in front of the fireball. It steps<CTRL-M>forward into the returning darkness.": GOSUB 220: PRINT "'Well met, sir! You have freed me from"
  318. 7747  PRINT "my accursed prison! I am deeply indebtedto you!' The creature grasps the ring": GOSUB 220: PRINT "and crushes it. There is a violent<CTRL-M>explosion. When the smoke clears, statueand alien are nowhere to be seen.": GOSUB 220
  319. 7765 P%(5) =  -1:P%(2) =  -1:R = TU:H = H -1:AX = 0: GOTO 7000
  320. 7769  PRINT "A stream of blinding light escapes from the cross.": GOSUB 220: IF P%(39) < >P  THEN 7000
  321. 7771  PRINT "The vampire shrieks and disintegrates<CTRL-M>into a pile of burning dust.":P%(39) =  -1:VR = 1:AX = 0:DL = 250: GOTO 7000
  322. 7780  IF P%(36) < > -2  THEN 210
  323. 7783 SH = 1: PRINT "Ok.": GOTO 7000
  324. 7800  IF X = 69  THEN 7820
  325. 7805  IF X = 102  AND P = 21  THEN  PRINT "It wobbles.": GOTO 7000
  326. 7810  IF X < >25  OR P < >5  THEN 290
  327. 7815  PRINT "You found a grate behind the gravestone.":P%(13) = 5:I = 13: GOTO 270
  328. 7820  IF P < >37  OR P%(14) < >37  THEN 230
  329. 7821  GOSUB 300:I = 15: GOTO 270
  330. 7900  IF PO < >1  OR   NOT SH  OR P < >37  THEN 290
  331. 7915  PRINT "The damsel stirs a little and finally<CTRL-M>awakens.":T%(38) = 1:P%(38) = P:P%(16) =  -1:N%(71) = 38:AX = 0:DL = 200: GOTO 7000
  332. 7990  IF CR = P  AND AX  THEN 1000
  333. 7995  IF BR = P  THEN 8020
  334. 8000 AX = 1:BR = P:CR = P:O =  PEEK(37) +1: POKE 34,0: POKE 35,13: VTAB 1: HOME : POKE 35,LD: HOME : POKE 35,24: PRINT : PRINT "<CTRL-D>OPENROOMS,L69": PRINT "<CTRL-D>READROOMS,R";P: INPUT L$: PRINT "<CTRL-D>CLOSE": PRINT "You are ";L$: PRINT "Obvious exits: ";: IF D%(P,0) >0  THEN  PRINT "N. ";
  335. 8008  IF D%(P,1) >0  THEN  PRINT " S. ";
  336. 8009  IF D%(P,2) >0  THEN  PRINT " W. ";
  337. 8010  IF D%(P,3) >0  THEN  PRINT " E. ";
  338. 8011  IF D%(P,4) >0  THEN  PRINT " U. ";
  339. 8012  IF D%(P,5) >0  THEN  PRINT " D. ";
  340. 8013  PRINT : PRINT "<-------------------------------------->":LD =  PEEK(37) +1: POKE 34,LD: VTAB O: PRINT "<CTRL-D>BLOADR";P;".DPC,A$800"
  341. 8020  IF   NOT AX  THEN  GOSUB 145
  342. 8025 AX = 1: POKE 0,0: POKE 1,8: CALL 38144
  343. 8030  FOR I = 1 TO M: IF P%(I) = P  THEN  GOSUB 8072
  344. 8040  NEXT 
  345. 8050  GOSUB 140
  346. 8060  CALL 38311: PRINT "You are "L$: FOR I = 1 TO M: IF P%(I) = P  THEN  PRINT "There is a "OD$(I)
  347. 8065  NEXT : GOTO 1000
  348. 8070  PRINT "There is a "OD$(I)
  349. 8072  IF CO < >I  THEN CO = I: POKE 38331,I -1: CALL 38321
  350. 8075  POKE 0,0: POKE 1,24: CALL 38147: RETURN 
  351. 8500  PRINT "Okay."
  352. 8510  IF X = 81  AND P%(10) = 26  AND P = 26  THEN  PRINT "The goblin drops the key and flees<CTRL-M>screaming into the darkness...":P%(10) =  -1:P%(11) = P:AX = 0:DL = 200: GOTO 7000
  353. 8540  GOTO 290
  354. 9000  PRINT "Your whistle echoed eerily back to you.": GOTO 7000
  355. 9400  IF (X = 82  AND I = 54  OR X = 78  AND I = 35  OR I = 59  AND (X = 56  OR X = 82))  AND P = 16  THEN 9420
  356. 9410  GOTO 230
  357. 9420  IF P%(38) < > -2  THEN  PRINT "After a miserable, choppy journey, the<CTRL-M>king's guards refuse to let you land<CTRL-M>without the Princess Sabrina! They let": GOSUB 220: PRINT "you choose between the guillotine and<CTRL-M>sailing back. You sail back.": GOSUB 220: GOTO 1000
  358. 9440  PRINT : PRINT "<CTRL-D>BLOAD WINNING.DPC": POKE 0,0: POKE 1,8: CALL 38144: GOSUB 140: CALL 38311
  359. 9442  PRINT "After a precarious few minutes, the<CTRL-M>journey goes smoothly. A somewhat tired and bewildered Princess Sabrina": GOSUB 220: PRINT "graciously thanks you as you return to<CTRL-M>her kingdom. The King is suitably"
  360. 9445  PRINT "impressed and asks that you be sent to": GOSUB 220: PRINT "deepest Africa to save his other<CTRL-M>daughter.": GOSUB 220
  361. 9446  CALL 38144: GOSUB 140: CALL 38311
  362. 9447  PRINT "That evening, you sneak out in peasant<CTRL-M>dress, plotting your rescue of Sabrina<CTRL-M>from the King's castle...   Well done!"
  363. 9450  GOTO 30040
  364. 9600  PRINT "Isn't that a little corny?": GOTO 7000
  365. 9700  IF P = 15  AND X = 11  THEN  PRINT "'You are on the property of Zin the<CTRL-M>Wizard, who lives in a cabin in this<CTRL-M>forest. The sun will rise at five.'": GOTO 7000
  366. 9702  IF X = 25  THEN 1555
  367. 9705  IF X = 24  AND (P%(18) = P  OR P%(18) =  -2)  THEN  PRINT "'Sabrina dies at dawn!'": GOTO 7000
  368. 9710  IF (X = 51  OR X = 49)  AND P = 1  THEN 9760
  369. 9715  IF X < >66  OR P < >9  THEN 240
  370. 9720  PRINT "All the pages have been ripped out but<CTRL-M>one. It reads 'Magic Elixirs-Most types deal with the removal of spells cast on": GOSUB 220: PRINT "people. To use an elixir, simply wave<CTRL-M>the container to energize the"
  371. 9721  PRINT "Ingredients and pour contents on the": GOSUB 220: PRINT "subject. To complete the spell, clap<CTRL-M>your hands.": GOSUB 220: GOTO 7000
  372. 9760  IF SM  THEN  PRINT "The writing says 'Knock here'.": GOTO 7000
  373. 9761  PRINT "It's covered with sediment and too fuzzyto read.": GOTO 7000
  374. 9800  IF X < >49  THEN 290
  375. 9820  IF P = 1  THEN  PRINT "Poof!":P = 9: GOTO 7000
  376. 9821  PRINT "Huh?": GOTO 7000
  377. 9900 Z =  INT( RND(1) *7) +1: IF Z < >6  THEN 7175
  378. 9930  PRINT "You heard nothing, which is odd in this forest.": GOTO 1000
  379. 10000  IF RT%(P) <4  THEN 230
  380. 10010  IF RT%(P) <7  THEN P = P -RT%(P) +3: GOTO 7000
  381. 10012  IF P = 27  THEN P = 13
  382. 10014  IF P = 36  OR P = 11  THEN P = P -6
  383. 10016  IF P = 38  THEN P = 2
  384. 10018  IF P = 15  THEN P = 16
  385. 10019  IF P = 9  OR P = 10  OR P = 22  THEN 240
  386. 10020  GOTO 7000
  387. 11000  IF RT%(P) < >2  THEN 5737
  388. 11005  IF P = 8  THEN 240
  389. 11010  IF P = 23  OR P = 6  THEN P = P +1
  390. 11015  IF P = 13  THEN P = 27
  391. 11020  GOTO 7000
  392. 12000  IF P = 24  THEN P = 25: GOTO 7000
  393. 12002  IF P = 25  OR P = 35  THEN P = P -1: GOTO 7000
  394. 12004  IF P = 30  THEN P = 36: GOTO 7000
  395. 12006  IF P = 36  THEN P = 30: GOTO 7000
  396. 12008  GOTO 210
  397. 24000  IF  LEN(J$)  THEN  IF  ASC(J$) > ASC("Z")  THEN  PRINT "Please press CAPS LOCK for now."
  398. 24010  RETURN 
  399. 25000  GOSUB 120: INPUT "Are you sure?";J$
  400. 25010  GOSUB 24000: IF  LEFT$(J$,1) = "Y"  THEN  GOSUB 100: GOSUB 220: INPUT "Name for saved game : ";J$: PRINT "<CTRL-D>NOMONCIO": GOTO 25020
  401. 25012  IF  LEFT$(J$,1) < >"N"  THEN 25000
  402. 25015  GOTO 1000
  403. 25020  PRINT "<CTRL-D>OPEN";J$: PRINT "<CTRL-D>WRITE";J$: PRINT P: PRINT TU: PRINT NZ: FOR I = 1 TO NZ: PRINT N%(I): NEXT : PRINT M: FOR I = 1 TO M: PRINT OD$(I): PRINT P%(I): PRINT T%(I): NEXT 
  404. 25030  PRINT LZ: FOR I = 1 TO LZ: PRINT RT%(I): FOR X = 0 TO 5: PRINT D%(I,X): NEXT : NEXT : PRINT SM: PRINT GT: PRINT SH: PRINT PO: PRINT GN: PRINT DR: PRINT H: PRINT R: PRINT W: PRINT V: PRINT WF: PRINT VR: PRINT ZZ: PRINT YN$: PRINT "<CTRL-D>CLOSE"
  405. 25035  GOSUB 110: GOSUB 220: GOSUB 130: GOTO 1000
  406. 27000  PRINT "The sun begins to appear on the horizon.": GOSUB 220: PRINT "Your time has run out! ";: IF P%(N%(71)) = P  OR P%(N%(71)) =  -2  THEN 27020
  407. 27010  PRINT "You hear a terrorfilled scream. Running to where it has<CTRL-M>come from you find the lifeless body of": GOSUB 220: PRINT "Princess Sabrina lying in a pool of<CTRL-M>blood!": GOTO 30040
  408. 27020  PRINT "Suddenly<CTRL-M>something hits you. You awaken with a<CTRL-M>dull ache in the back of your head, and": GOSUB 220: PRINT "turn to find the lifeless body of<CTRL-M>Princess Sabrina lying in a pool of<CTRL-M>blood!": GOTO 30040
  409. 30000  PRINT "So much for that try..."
  410. 30040  PRINT "Press any key to restart the game. ";: GET J$: GOSUB 120
  411. 30050  TEXT : HOME : PRINT  CHR$(21): POKE 49247,0: CALL  -1370