home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / games / soviet.zip / SOVIET.BAS next >
BASIC Source File  |  1986-05-03  |  25KB  |  465 lines

  1. 100 DIM A(17,10),P(5),O1$(11),O2$(11),M$(27),T(5),ROOM$(17),IN$(11),TR(11)
  2. 110 REM **                    **
  3. 120 REM ** FIRST ADVENTURE BY **
  4. 130 REM **     DAVID MENY     **
  5. 140 REM **                    **
  6. 150 REM **    ESCAPE  FROM    **
  7. 160 REM **     S.S.A.D.B.     **
  8. 170 REM **   MAY 15TH, 1985   **
  9. 180 REM **                    **
  10. 190 GOSUB 4230:REM INITIALIZE
  11. 200 LOCATE 21,1
  12. 210 PRINT "Escape From S.S.A.D.B, Version 1.0"
  13. 220 PRINT "Menco, Inc."
  14. 230 PRINT:GOSUB 3240:REM ROOM DESCRIPTION
  15. 240 GOSUB 1900:REM OBJECTS IN ROOM?
  16. 250 REM ** INPUT HANDLING **
  17. 260 KW=0
  18. 270 IF SIREN=1 AND SET=0 THEN MV=1:SET=1
  19. 280 IF SET=1 THEN MV=MV+1:IF MV=3 AND RO=6 AND BOX=0 THEN PRINT:PRINT "A worker comes running in and glances around. He sees you and calls the guards":PRINT "who take you away and torture you.":GOTO 3140
  20. 290 IF MV=3 AND RO=6 AND BOX=1 THEN PRINT:PRINT "A worker comes in and glances around. He glances around and not noticing":PRINT "anything, he heads to the balcony.":TR(11)=7
  21. 300 IF MV=3 THEN TR(11)=7
  22. 310 PRINT:INPUT ">",A$
  23. 320 IF A$="" THEN PRINT:PRINT "What?":GOTO 270
  24. 330 AS=ASC(A$)
  25. 340 IF AS<65 OR AS>90 THEN PRINT:PRINT "Capital letters please.":GOTO 270
  26. 350 M=LEN(A$):IF M<7 THEN A$=A$+" ":GOTO 350
  27. 360 B$=LEFT$(A$,3)
  28. 370 IF B$="INV" OR B$="I  " THEN GOSUB 730:GOTO 270
  29. 380 IF B$="SCO" THEN GOSUB 820:GOTO 270
  30. 390 IF B$="QUI" OR B$="Q  " THEN GOSUB 850:GOTO 270
  31. 400 IF B$="HEL" OR B$="CLU" THEN PRINT:PRINT "Sorry, there is no help for lost agents in this game.":GOTO 270
  32. 410 IF B$="HID" THEN GOSUB 2360:GOTO 270
  33. 420 IF B$="STA" THEN GOSUB 2410:GOTO 270
  34. 430 IF B$="LOO" OR B$="L  " THEN GOTO 230
  35. 440 IF B$="N  " THEN C$="N  ":GOSUB 920:GOTO 270
  36. 450 IF B$="S  " THEN C$="S  ":GOSUB 920:GOTO 270
  37. 460 IF B$="E  " THEN C$="E  ":GOSUB 920:GOTO 270
  38. 470 IF B$="W  " THEN C$="W  ":GOSUB 920:GOTO 270
  39. 480 IF B$="U  " THEN C$="U  ":GOSUB 920:GOTO 270
  40. 490 IF B$="D  " THEN C$="D  ":GOSUB 920:GOTO 270
  41. 500 N=1
  42. 510 IF MID$(A$,N,1)=" " THEN C$=MID$(A$,N+1,3):IF LEFT$(C$,1)<>" " THEN 540 ELSE 530
  43. 520 IF N<M THEN N=N+1:GOTO 510
  44. 530 PRINT:PRINT "In that form, I don't know the word ";A$:GOTO 270
  45. 540 IF B$="GO " OR B$="MOV" OR B$="WAL" THEN KW=1:GOSUB 920:GOTO 270
  46. 550 IF B$="EXA" OR B$="SEA" THEN GOSUB 2590:GOTO 270
  47. 560 IF B$="TAK" OR B$="GET" THEN KW=1:GOSUB 1600:GOTO 270
  48. 570 IF B$="DRO" OR B$="PUT" THEN KW=1:GOSUB 1140:GOTO 270
  49. 580 IF B$="UNL" THEN KW=1:GOSUB 2110:GOTO 270
  50. 590 IF B$="LOC" THEN KW=1:GOSUB 2440:GOTO 270
  51. 600 IF B$="OPE" THEN KW=1:GOSUB 1280:GOTO 270
  52. 610 IF B$="CLO" THEN KW=1:GOSUB 2510:GOTO 270
  53. 620 IF B$="REA" THEN KW=1:GOSUB 1440:GOTO 270
  54. 630 IF B$="PUS" OR B$="PRE" THEN KW=1:GOSUB 2260:GOTO 270
  55. 640 IF B$="PUL" OR B$="UNP" THEN KW=1:GOSUB 2980:GOTO 270
  56. 650 IF B$="TYP" THEN KW=1:GOSUB 3030:GOTO 270
  57. 660 IF B$="POU" OR B$="SPR" THEN KW=1:GOSUB 2910:GOTO 270
  58. 670 IF B$="INS" THEN KW=1:GOSUB 1830:GOTO 270
  59. 680 IF B$="KIC" OR B$="HIT" THEN KW=1:GOSUB 1970:GOTO 270
  60. 690 IF B$="MIX" OR B$="COM" THEN KW=1:GOSUB 2800:GOTO 270
  61. 700 IF B$="THR" THEN KW=1:GOSUB 2190:GOTO 270
  62. 710 PRINT:PRINT "I don't know that word.":GOTO 270
  63. 720 REM **** BEGIN SUBROUTINES ****
  64. 730 REM ** INVENTORY **
  65. 740 PRINT:PRINT "  You are carrying:"
  66. 750 PRINT
  67. 760 FOR I=1 TO 8
  68. 770 IF TR(I)=200 THEN PRINT "    ";IN$(I):AADS=1
  69. 780 NEXT I
  70. 790 IF AADS<>1 THEN PRINT "    nothing"
  71. 800 AADS=0
  72. 810 RETURN
  73. 820 REM ** SCORE **
  74. 830 PRINT:PRINT "Out of 200 points, you got ";SCORE" points."
  75. 840 RETURN
  76. 850 REM ** QUITING **
  77. 860 PRINT:PRINT "Out of 200 points, you got "SCORE" points."
  78. 870 PRINT
  79. 880 INPUT "Are you sure you want to quit";F$
  80. 890 IF F$="" THEN 870
  81. 900 IF F$="Y" OR F$="f" OR F$="YES" THEN END
  82. 910 PRINT:PRINT "Ok.":GOTO 270
  83. 920 REM ** MOVEMENT COMMAND **
  84. 930 C$=LEFT$(C$,1)
  85. 940 IF RO=10 AND GUARD=1 THEN PRINT:PRINT "As you try to leave the guard spies you and captures you. He alerts others":PRINT "and soon you are tortured and killed.":GOTO 3140
  86. 950 IF RO=9 AND C$="S" AND PLUG=0 THEN PRINT:PRINT "As you step into the record room, the camera spies you and alerts the guards.":PRINT "They take you away and torture you which eventually kills you.":GOTO 3140
  87. 960 IF RO=13 AND C$="S" AND TR(11)=16 THEN PRINT:PRINT "As you step into the missle site, a worker working on the MX-13 missle":PRINT "sees you and calls for guards. They take you away and torture you. You":PRINT "die in their hands.":GOTO 3140
  88. 970 IF RO=6 AND BOX=1 THEN PRINT:PRINT "You can't go that way while you are crouching in the box.":RETURN
  89. 980 IF RO=7 AND TR(11)=7 AND C$="W" THEN PRINT:PRINT "As you try to leave, the worker grabs you and calls for the guards. When the":PRINT "guards come, they take you away to be tortured. THE END!":GOTO 3140
  90. 990 IF C$="N" AND A(RO,1)=0 THEN PRINT:PRINT "You can't go that way.":RETURN
  91. 1000 IF C$="S" AND A(RO,2)=0 THEN PRINT:PRINT "You can't go that way.":RETURN
  92. 1010 IF C$="E" AND A(RO,3)=0 THEN PRINT:PRINT "You can't go that way.":RETURN
  93. 1020 IF C$="W" AND A(RO,4)=0 THEN PRINT:PRINT "You can't go that way.":RETURN
  94. 1030 IF C$="U" AND A(RO,5)=0 THEN PRINT:PRINT "You can't go that way.":RETURN
  95. 1040 IF C$="D" AND A(RO,6)=0 THEN PRINT:PRINT "You can't go that way.":RETURN
  96. 1050 IF C$="N" THEN RO=A(RO,1)
  97. 1060 IF C$="S" THEN RO=A(RO,2)
  98. 1070 IF C$="E" THEN RO=A(RO,3)
  99. 1080 IF C$="W" THEN RO=A(RO,4)
  100. 1090 IF C$="U" THEN RO=A(RO,5)
  101. 1100 IF C$="D" THEN RO=A(RO,6)
  102. 1110 IF RO=3 AND SOP1=0 THEN SCORE=SCORE+10:SOP1=1:GOSUB 3100
  103. 1120 IF RO=10 AND DSF=0 THEN SCORE=SCORE+30:DSF=1:GOSUB 3100
  104. 1130 RETURN 230
  105. 1140 REM ** DROP ROUTINE **
  106. 1150 FLAG=0:OBJECT=0
  107. 1160 PRINT
  108. 1170 FOR I=1 TO 8
  109. 1180 IF TR(I)=200 THEN FLAG=1
  110. 1190 NEXT I
  111. 1200 IF FLAG=0 THEN PRINT "You aren't carrying anything.":RETURN
  112. 1210 FOR I=1 TO 8
  113. 1220 IF C$=O1$(I) AND TR(I)=200 THEN OBJECT=I
  114. 1230 NEXT I
  115. 1240 IF OBJECT=0 THEN PRINT "You're not holding that item.":RETURN
  116. 1250 TR(OBJECT)=RO
  117. 1260 PRINT "Ok."
  118. 1270 RETURN
  119. 1280 REM ** OPEN ROUTINE **
  120. 1290 IF C$<>"DOO" AND C$<>"CAB" AND C$<>"VAU" THEN PRINT:PRINT "You can't open that.":RETURN
  121. 1300 IF C$<>"DOO" THEN 1360
  122. 1310 IF C$="DOO" AND DOOR=0 AND RO=15 THEN PRINT:PRINT "The door is locked.":RETURN
  123. 1320 IF C$="DOO" AND DOOR=1 AND RO=15 THEN PRINT:PRINT "The door swings open, revealing a passageway to the north.":DOOR=2:A(10,2)=15:A(15,1)=10:RETURN
  124. 1330 IF C$="DOO" AND DOOR=1 AND RO=10 THEN PRINT:PRINT "The door swings open, revealing a passageway to the south.":DOOR=2:A(10,2)=15:A(15,1)=10:RETURN
  125. 1340 IF C$="DOO" AND DOOR=2 AND RO=15 OR RO=10 THEN PRINT:PRINT "The door is already open.":RETURN
  126. 1350 PRINT:PRINT "You can't see a door here.":RETURN
  127. 1360 IF C$<>"VAU" THEN 1400
  128. 1370 IF C$="VAUL" AND VAULT=0 AND RO=1 THEN PRINT "You have to type in the correct code for the vault to open.":RETURN
  129. 1380 IF C$="VAUL" AND VAULT=1 AND RO=1 THEN PRINT "It's already open.":RETURN
  130. 1390 PRINT:PRINT "You can't see the vault here.":RETURN
  131. 1400 IF C$="CAB" AND CAB=0 AND RO=14 THEN PRINT "The cabinet is now open.":CAB=1:TR(7)=14:RETURN
  132. 1410 IF C$="CAB" AND CAB=1 AND RO=14 THEN PRINT "The cabinet is already open.":RETURN
  133. 1420 PRINT:PRINT "You can't see a cabinet here.":RETURN
  134. 1430 RETURN
  135. 1440 REM ** READ ROUTINE **
  136. 1450 FLAG=0
  137. 1460 PRINT
  138. 1470 IF C$<>"PLA" THEN 1500
  139. 1480 IF RO<>6 THEN PRINT "You don't see the plaque here.":RETURN
  140. 1490 PRINT "The plaque reads: 'Press in case of emergency.'":RETURN
  141. 1500 FOR I=1 TO 8
  142. 1510 IF C$=O1$(I) AND TR(I)=200 THEN FLAG=1
  143. 1520 NEXT
  144. 1530 IF FLAG=0 THEN PRINT "You don't have that item.":RETURN
  145. 1540 HH$=LEFT$(C$,3)
  146. 1550 IF HH$<>"NOT" AND HH$<>"NEW" AND HH$<>"SLI" AND HH$<>"FIL" THEN PRINT "You can't read that!":RETURN
  147. 1560 IF HH$="NEW" AND TR(2)=200 THEN PRINT "The newspaper reads: 'Signs of MX-13 missles being shipped to Russia...' It":PRINT "goes on but you can't make anymore out.":RETURN
  148. 1570 IF HH$="SLI" AND TR(6)=200 THEN PRINT "The slip reads: 'Porch needs fixing and new code is '971'.'":RETURN
  149. 1580 IF HH$="FIL" AND TR(7)=200 THEN PRINT "The file reads: 'TOP-SECRET Information on MX-13 and deployment.'":RETURN
  150. 1590 IF HH$="NOT" AND TR(3)=200 THEN PRINT "The note reads: 'New scientific breakthrough: analgesic and liquid in beaker":PRINT "makes great acid!'":RETURN
  151. 1600 REM ** GET ROUTINE **
  152. 1610 PRINT
  153. 1620 IF C$="GUA" THEN PRINT "You can't get that.":RETURN
  154. 1630 IF C$="WOR" THEN PRINT "You can't get that.":RETURN
  155. 1640 FLAG=0:HHG=0:OBJECT=0
  156. 1650 FOR I=1 TO 8
  157. 1660 IF TR(I)=200 THEN HHG=HHG+1
  158. 1670 NEXT
  159. 1680 IF HHG>=6 THEN PRINT "You can't carry anymore.":RETURN
  160. 1690 FOR I=1 TO 8
  161. 1700 IF TR(I)=RO OR TR(2)=220 THEN FLAG=1
  162. 1710 NEXT I
  163. 1720 IF FLAG=0 THEN PRINT "There is nothing here to pick up.":RETURN
  164. 1730 IF TR(2)=220 AND C$="NEW" AND TR(4)=220 THEN OBJECT=2:INSERT=0:TR(4)=15:GOTO 1790
  165. 1740 IF TR(2)=220 AND C$="NEW" THEN OBJECT=2:INSERT=0:GOTO 1790
  166. 1750 FOR I=1 TO 8
  167. 1760 IF C$=O1$(I) AND TR(I)=RO THEN OBJECT=I
  168. 1770 NEXT
  169. 1780 IF OBJECT=0 THEN PRINT "I don't see that object here.":RETURN
  170. 1790 TR(OBJECT)=200
  171. 1800 PRINT "Ok.":IF TR(7)=200 AND SOP=0 THEN SCORE=SCORE+50:SOP=1:GOSUB 3100
  172. 1810 IF OBJECT=4 AND DGF=0 THEN SCORE=SCORE+20:DGF=1:GOSUB 3100
  173. 1820 RETURN
  174. 1830 REM ** INSERT ROUTINE **
  175. 1840 IF C$<>"NEW" THEN PRINT:PRINT "You can't insert that.":RETURN
  176. 1850 INPUT "  Under what";F$:F$=LEFT$(F$,3)
  177. 1860 IF F$<>"DOO" THEN PRINT:PRINT "You can't insert the newspaper under that.":RETURN
  178. 1870 IF RO<>15 THEN PRINT:PRINT "You can't see a door here.":RETURN
  179. 1880 PRINT:PRINT "Ok.":INSERT=1:TR(2)=220
  180. 1890 RETURN
  181. 1900 REM ** OBJECTS IN ROOM? **
  182. 1910 PRINT
  183. 1920 FOR I=1 TO 11
  184. 1930 IF TR(I)=RO THEN PRINT O2$(I)
  185. 1940 NEXT I
  186. 1950 RETURN
  187. 1960 END
  188. 1970 REM ** HIT ROUTINE **
  189. 1980 PRINT
  190. 1990 IF RO<>15 AND RO<>7 THEN PRINT "I can't use that word here.":RETURN
  191. 2000 IF C$<>"DOO" AND C$<>"WOR" THEN PRINT "You can't hit that.":RETURN
  192. 2010 IF C$="WOR" THEN GOTO 2080
  193. 2020 IF RO=15 AND C$="DOO" AND KEE=0 THEN PRINT "You hear a sound from the other sound of the door.":KEE=1:GOTO 2040
  194. 2030 IF RO=15 AND C$="DOO" AND KEE=1 THEN PRINT "It doesn't work this time.":RETURN
  195. 2040 IF INSERT=0 THEN PRINT:PRINT "Sorry, because of that last action, there is no way for you to proceed.":GOTO 3140
  196. 2050 IF INSERT=1 THEN PRINT:PRINT "There is now something on the newspaper."
  197. 2060 TR(4)=220
  198. 2070 RETURN
  199. 2080 IF RO=7 AND C$="WOR" AND WORKER=0 THEN PRINT "The worker falls over the porch, yelling. As he falls, something falls out":PRINT "of the worker's pocket":TR(8)=7:TR(11)=255:WORKER=1:RETURN
  200. 2090 IF RO=7 AND C$="WOR" AND WORKER=1 THEN PRINT "The worker is dead, because of you!":RETURN
  201. 2100 RETURN
  202. 2110 REM ** UNLOCK ROUTINE **
  203. 2120 PRINT
  204. 2130 IF RO<>15 AND RO<>10 THEN PRINT "I can't use that word here.":RETURN
  205. 2140 IF C$<>"DOO" THEN PRINT "I can't unlock that.":RETURN
  206. 2150 IF TR(4)<>200 THEN PRINT "You have nothing to unlock the door with.":RETURN
  207. 2160 IF DOOR=0 THEN PRINT "The door is now unlocked.":DOOR=1:GOTO 2180
  208. 2170 IF DOOR=1 OR DOOR=2 THEN PRINT "The door is already unlocked."
  209. 2180 RETURN
  210. 2190 REM ** THROW ROUTINE **
  211. 2200 IF RO<>10 THEN PRINT:PRINT "I can't use that word here.":RETURN
  212. 2210 IF C$<>"BRI" THEN PRINT:PRINT "You can't throw that.":RETURN
  213. 2220 INPUT "  At what";F$:F$=LEFT$(F$,3)
  214. 2230 IF F$="GUA" AND GUARD=1 THEN PRINT:PRINT "You hit the guard in the back of the head with the brick and he becomes":PRINT "unconsicous.":TR(9)=255:TR(10)=10:GUARD=0:TR(1)=10:SCORE=SCORE+20:GOSUB 3100:RETURN
  215. 2240 IF F$="GUA" AND GUARD=0 THEN PRINT:PRINT "The guard is already unconsicous.":RETURN
  216. 2250 PRINT "You can't throw the brick at that.":RETURN
  217. 2260 REM ** PUSH ROUTINE **
  218. 2270 IF RO<>6 AND RO<>11 AND RO<>12 AND RO<>13 THEN PRINT:PRINT "I can't use that word here.":RETURN
  219. 2280 PRINT
  220. 2290 IF C$="ONE" THEN PRINT "The elevator doors close...":FOR I=1 TO 100:NEXT:PRINT "Then they open....":RO=11:RETURN
  221. 2300 IF C$="TWO" THEN PRINT "The elevator doors close...":FOR I=1 TO 100:NEXT:PRINT "Then they open....":RO=12:RETURN
  222. 2310 IF C$="THR" THEN PRINT "The elevator doors close...":FOR I=1 TO 100:NEXT:PRINT "Then they open....":RO=13:RETURN
  223. 2320 IF C$="BUT" AND RO=6 AND GHT=0 THEN PRINT "A siren sounds and a worker will be in here any minute. The button goes in so":PRINT "you can't press it again.":SIREN=1::GHT=1:RETURN
  224. 2330 IF C$="BUT" AND RO=6 AND GHT=1 THEN PRINT "You can't push the button again.":RETURN
  225. 2340 PRINT "You can't push that.":RETURN
  226. 2350 RETURN
  227. 2360 REM ** HIDE ROUTINE **
  228. 2370 IF RO<>6 THEN PRINT:PRINT "I can't use that word here.":RETURN
  229. 2380 INPUT "  In what";F$:F$=LEFT$(F$,3)
  230. 2390 IF F$="BOX" THEN PRINT:PRINT "Ok, you are now crouching in the box.":BOX=1:RETURN
  231. 2400 PRINT:PRINT "You can't hide in there.":RETURN
  232. 2410 REM ** STAND ROUTINE **
  233. 2420 IF BOX=0 THEN PRINT:PRINT "You are already standing.":RETURN
  234. 2430 IF BOX=1 THEN PRINT:PRINT "Ok, you are now standing outside the box.":BOX=0:RETURN
  235. 2440 REM ** LOCK ROUTINE **
  236. 2450 IF RO<>10 AND RO<>15 THEN PRINT:PRINT "I can't use that word here.":RETURN
  237. 2460 IF C$<>"DOO" THEN PRINT:PRINT "You can't lock that.":RETURN
  238. 2470 IF TR(4)<>200 THEN PRINT:PRINT "You have nothing to lock the door with.":RETURN
  239. 2480 IF DOOR=0 THEN PRINT:PRINT "The door is already locked.":RETURN
  240. 2490 IF DOOR=1 OR DOOR=2 THEN PRINT:PRINT "Ok, the door is now closed and locked.":DOOR=0:A(15,1)=0:A(10,2)=0:RETURN
  241. 2500 RETURN
  242. 2510 REM ** CLOSE ROUTINE **
  243. 2520 IF C$<>"DOO" AND C$<>"CAB" THEN PRINT:PRINT "You can't close that.":RETURN
  244. 2530 IF C$="DOO" AND DOOR=2 AND RO=15 THEN PRINT:PRINT "The door is now closed.":DOOR=1:A(10,2)=0:A(15,1)=0:RETURN
  245. 2540 IF C$="DOO" AND DOOR=2 AND RO=10 THEN PRINT:PRINT "The door is now closed.":DOOR=1:A(15,1)=0:A(10,2)=0:RETURN
  246. 2550 IF C$="DOO" AND DOOR=0 OR DOOR=1 AND RO=10 OR RO=15 THEN PRINT:PRINT "The door is already closed.":RETURN
  247. 2560 IF C$="CAB" AND CAB=1 AND RO=14 THEN PRINT:PRINT "The cabinet is now closed.":RETURN
  248. 2570 IF C$="CAB" AND CAB=0 AND RO=14 THEN PRINT:PRINT "The cabinet is already closed.":RETURN
  249. 2580 PRINT "You can't close that here.":RETURN
  250. 2590 REM ** EXAMINE ROUTINE **
  251. 2600 PRINT
  252. 2610 IF C$="DOO" AND RO=15 OR RO=10 THEN PRINT "The large, wooden door has a keyhole and a small space below it. Through":PRINT "the keyhole you can see a key, unreachable from this side.":RETURN
  253. 2620 IF C$="BRI" AND TR(1)=200 THEN PRINT "The brick is just a normal, heavy brick.":RETURN
  254. 2630 IF C$="NEW" AND TR(2)=200 THEN PRINT "The newspaper just has some readable writing on it.":RETURN
  255. 2640 IF C$="NOT" AND TR(3)=200 THEN PRINT "The note just has some writing on it.":RETURN
  256. 2650 IF C$="KEY" AND TR(4)=200 THEN PRINT "I see nothing special about that.":RETURN
  257. 2660 IF C$="BEA" AND TR(5)=200 THEN PRINT "I see nothing special about that.":RETURN
  258. 2670 IF C$="SLI" AND TR(6)=200 THEN PRINT "The slip of paper just has some writing on it.":RETURN
  259. 2680 IF C$="FIL" AND TR(7)=200 THEN PRINT "The file contains top-secret information.":RETURN
  260. 2690 IF C$="ASP" AND TR(8)=200 THEN PRINT "The aspirin has 'BUFFERIN' on it.":RETURN
  261. 2700 IF C$="GUA" AND TR(9)=RO THEN PRINT "The guard is a hard working employee of the Russians.":RETURN
  262. 2710 IF C$="GUA" AND TR(10)=RO THEN PRINT "The guard is unconsicous.":RETURN
  263. 2720 IF C$="WOR" AND TR(11)=RO THEN PRINT "The worker has something in his back pocket.":RETURN
  264. 2730 IF C$="PLA" AND RO=6 THEN PRINT "The plaque has writing on it.":RETURN
  265. 2740 IF C$="BOX" AND RO=6 THEN PRINT "The box is big enough for you to HIDE in it.":RETURN
  266. 2750 IF C$="CAB" AND RO=14 AND CAB=1 THEN PRINT "The cabinet is open.":RETURN
  267. 2760 IF C$="CAB" AND RO=14 AND CAB=0 THEN PRINT "The cabinet is closed.":RETURN
  268. 2770 IF C$="PLU" AND RO=2 AND PLUG=0 THEN PRINT "The plug is connected to an outlet.":RETURN
  269. 2780 IF C$="PLU" AND RO=2 AND PLUG=1 THEN PRINT "The plug is not connected to an outlet.":RETURN
  270. 2790 PRINT "I can't examine that now.":RETURN
  271. 2800 REM ** MIX ROUTINE **
  272. 2810 IF C$<>"ASP" AND C$<>"BEA" THEN PRINT:PRINT "I can't mix that.":RETURN
  273. 2820 IF C$="BEA" THEN GOTO 2870
  274. 2830 IF C$="ASP" AND TR(8)=200 THEN INPUT "  In what";F$:F$=LEFT$(F$,3)
  275. 2840 IF F$="BEA" AND TR(5)=200 THEN PRINT:PRINT "The beaker begins to bubble and inside there is an acidy solution.":TR(8)=255:BEAKER=1:RETURN
  276. 2850 IF F$="BEA" THEN PRINT:PRINT "You don't have the beaker.":RETURN
  277. 2860 PRINT:PRINT "You can't mix the aspirin with that.":RETURN
  278. 2870 INPUT "  With what";F$:F$=LEFT$(F$,3)
  279. 2880 IF F$="ASP" AND TR(8)=200 THEN PRINT:PRINT "The beaker begins to bubble and inside there is an acidy solution.":BEAKER=1:TR(8)=255:RETURN
  280. 2890 IF F$="ASP" THEN PRINT:PRINT "You don't have the aspirin.":RETURN
  281. 2900 PRINT:PRINT "You can't mix that with the beaker.":RETURN
  282. 2910 REM ** POUR ROUTINE **
  283. 2920 PRINT
  284. 2930 IF RO<>8 THEN PRINT:PRINT "I can't use that word here.":RETURN
  285. 2940 IF C$="BEA" OR C$="LIQ" AND BEAKER=0 THEN PRINT:PRINT "The liquid is stuck inside (for now).":RETURN
  286. 2950 IF C$="BEA" OR C$="LIQ" AND BEAKER=1 THEN INPUT "  On what";F$:F$=LEFT$(F$,3)
  287. 2960 IF F$="WAL" OR F$="NOR" THEN PRINT:PRINT "The wall to the north, becomes a giant hole, allowing you to go that way.":A(8,1)=3:TR(5)=255:RETURN
  288. 2970 PRINT:PRINT "You can't pour the liquid on that.":RETURN
  289. 2980 REM ** PULL ROUTINE **
  290. 2990 IF RO<>2 THEN PRINT:PRINT "I can't use that word here.":RETURN
  291. 3000 IF C$<>"PLU" THEN PRINT:PRINT "You can't pull that.":RETURN
  292. 3010 IF PLUG=1 THEN PRINT:PRINT "The plug is already unplugged.":RETURN
  293. 3020 PRINT "Ok, the plug is now unplugged.":PLUG=1:RETURN
  294. 3030 REM ** TYPE ROUTINE **
  295. 3040 IF RO<>1 THEN PRINT:PRINT "I can't use that word here.":RETURN
  296. 3050 IF C$<>"971" THEN PRINT:PRINT "You type in the wrong code and a loud siren  sounds. Guards rush in and take":PRINT "you away. You DON'T return.":GOTO 3100
  297. 3060 PRINT:PRINT "Congradulations! You got the right code. You rush outside to find that you are":PRINT "inside a large sewer system. But, above you see a man hole, so you climb out.":PRINT "You rush to tell the police your story."
  298. 3070 IF TR(7)=200 THEN PRINT "You show the police the file and you are rewarded with a hero's reward!":SCORE=SCORE+70:GOSUB 3100:GOTO 3140
  299. 3080 PRINT "You have no proof to show the police, so they lock you up. In exactly five":PRINT "days, the Soviets launch their supply of MX-13 missles on the U.S. All":PRINT "life as you know it, stops to exist. The human race is never heard of again."
  300. 3090 GOTO 3140
  301. 3100 REM ** SCORE ROUTINE **
  302. 3110 COLOR 0,7
  303. 3120 LOCATE 25,40:PRINT "Score:";SCORE
  304. 3130 COLOR 7,0:RETURN
  305. 3140 REM ** SCORING **
  306. 3150 PRINT:PRINT "Out of 200 points, you got ";SCORE;" points."
  307. 3160 PRINT:INPUT "Would you like to play again";F$:F$=LEFT$(F$,1)
  308. 3170 IF F$="y" OR F$="Y" THEN GOTO 3210
  309. 3180 IF F$="n" OR F$="N" THEN PRINT:PRINT "Ok.":PRINT:PRINT:END
  310. 3190 PRINT "Please answer the qusetion."
  311. 3200 GOTO 3160
  312. 3210 RO=17:SOP=0:SOP1=0:DOOR=0:KEE=0:SCORE=0:GUARD=0:BOX=0:BEAKER=0:DSF=0:DGF=0
  313. 3220 TR(1)=17:TR(2)=17:TR(3)=8:TR(4)=255:TR(5)=8:TR(6)=5:TR(7)=255:TR(8)=16
  314. 3230 CLS:GOTO 200
  315. 3240 REM ** ROOM DESCRIPTIONS **
  316. 3250 COLOR 0,7
  317. 3260 LOCATE 25,1:PRINT "                                                                               "
  318. 3270 LOCATE 25,1:PRINT ROOM$(RO)
  319. 3280 LOCATE 25,40:PRINT "Score:";SCORE
  320. 3290 COLOR 7,0
  321. 3300 ON RO GOSUB 3320,3380,3450,3500,3550,3600,3660,3700,3750,3790,3840,3890,3940,3990,4040,4100,4160
  322. 3310 RETURN
  323. 3320 REM ROOM ONE
  324. 3330 PRINT "Vault Room"
  325. 3340 PRINT "You are inside a very large room which is the exit to the outside world. But"
  326. 3350 PRINT "before every person gets outside, they must pass through a giant, metal vault"
  327. 3360 PRINT "which has a large keyboard attached to it."
  328. 3370 RETURN
  329. 3380 REM ROOM TWO
  330. 3390 PRINT "Maintence Room"
  331. 3400 PRINT "This is a room where maintence equipment is stored. There are many  brooms,"
  332. 3410 PRINT "dustpans and mops around here. A dark passage way leads to the south, while"
  333. 3420 PRINT "a lighted way leads to the east. There is a plug on the east wall connect"
  334. 3430 PRINT "to an outlet."
  335. 3440 RETURN
  336. 3450 REM ROOM THREE
  337. 3460 PRINT "Secret Room"
  338. 3470 PRINT "You are in a secret room behind the base labrotory. The hole in the south"
  339. 3480 PRINT "wall is smaller on this side, preventing you from going south."
  340. 3490 RETURN
  341. 3500 REM ROOM FOUR
  342. 3510 PRINT "Hallway"
  343. 3520 PRINT "This is a non descript hallway running north and south."
  344. 3530 RETURN
  345. 3540 RETURN
  346. 3550 REM ROOM FIVE
  347. 3560 PRINT "Repair Closet"
  348. 3570 PRINT "This is a repair closet where hammers, nails and screwdrivers are kept. The"
  349. 3580 PRINT "only exits is the way you came."
  350. 3590 RETURN
  351. 3600 REM ROOM SIX
  352. 3610 PRINT "Storage Room";:IF BOX=1 THEN PRINT " (crouching in the box)"
  353. 3620 PRINT "You are in a storage room where miscellanous equipment is stored. There is a"
  354. 3630 PRINT "large, heavy box in the south corner. To the east is a balcony. Also on the"
  355. 3640 PRINT "north wall, there is a button with a small plaque beneath it."
  356. 3650 RETURN
  357. 3660 REM ROOM SEVEN
  358. 3670 PRINT "Balcony"
  359. 3680 PRINT "This is an old, crumbling balcony."
  360. 3690 RETURN
  361. 3700 REM ROOM EIGHT
  362. 3710 PRINT "Labrotory"
  363. 3720 PRINT "You are in a scientific labrotory where great experiments are done. The usual"
  364. 3730 PRINT "array of supplies and equipment is here. The north wall is a bit less solid":PRINT "then the others."
  365. 3740 RETURN
  366. 3750 REM ROOM NINE
  367. 3760 PRINT "Hallway"
  368. 3770 PRINT "This is a very non-descript hallway running east to west."
  369. 3780 RETURN
  370. 3790 REM ROOM TEN
  371. 3800 PRINT "Guard Room"
  372. 3810 PRINT "You are in a guard room, where a guard is supposed to guard the cell to the"
  373. 3820 PRINT "south. Passageways run off in three directions."
  374. 3830 RETURN
  375. 3840 REM ROOM ELEVEN
  376. 3850 PRINT "Elevator"
  377. 3860 PRINT "This is an elevator connecting all three levels of the base. There is a panel"
  378. 3870 PRINT "here with three buttons labeled 1,2 and 3."
  379. 3880 RETURN
  380. 3890 REM ROOM TWELVE
  381. 3900 PRINT "Elevator"
  382. 3910 PRINT "This is an elevator connecting all three levels of the base. There is a panel"
  383. 3920 PRINT "here with three buttons labeled 1,2 and 3."
  384. 3930 RETURN
  385. 3940 REM ROOM THIRTEEN
  386. 3950 PRINT "Elevator"
  387. 3960 PRINT "This is an elevator connecting all three levels of the base. There is a panel"
  388. 3970 PRINT "here with three buttons labeled 1,2 and 3."
  389. 3980 RETURN
  390. 3990 REM ROOM FOURTEEN
  391. 4000 PRINT "Record Room"
  392. 4010 PRINT "This is a record room where top secret information is kept. There is a file"
  393. 4020 PRINT "cabinet on the west wall and a camera on the west wall near the ceiling."
  394. 4030 RETURN
  395. 4040 REM ROOM FIFTEEN
  396. 4050 PRINT "North Cell"
  397. 4060 PRINT "This is a north cell where top security prisoners are kept. There is a"
  398. 4070 PRINT "large, wooden door on the north wall. To the south a light can be seen."
  399. 4080 IF INSERT=1 THEN PRINT "Under the door, you can see a newspaper."
  400. 4090 RETURN
  401. 4100 REM ROOM SIXTEEN
  402. 4110 PRINT "Missle site"
  403. 4120 PRINT "This is a large room in the shape of a missle silo, where a very important"
  404. 4130 PRINT "missle is kept. The rounded ceiling is partly open, awaiting the preparation"
  405. 4140 PRINT "of the MX-13, being kept in the center of the room."
  406. 4150 RETURN
  407. 4160 REM ROOM SEVENTEEN
  408. 4170 PRINT "South Cell"
  409. 4180 PRINT "You are in a cell where prisoners are kept. The second part of this two room"
  410. 4190 PRINT "cell is to the north while a crack in the ceiling is letting in a large amount"
  411. 4200 PRINT "of light."
  412. 4210 RETURN
  413. 4220 END
  414. 4230 REM ** INITIALIZE **
  415. 4240 CLS:KEY OFF:PRINT "Please wait while I set the adventure..."
  416. 4250 SCORE=0:RO=17:GUARD=1:FLAG=0:KEE=0:DOOR=0
  417. 4260 A(15,7)=99:REM PROBLEM DOOR 1
  418. 4270 A(8,7)=100:REM PROBLEM DOOR 2
  419. 4280 FOR X=1 TO 17
  420. 4290 FOR Y=1 TO 6
  421. 4300 READ A(X,Y)
  422. 4310 NEXT Y
  423. 4320 NEXT X
  424. 4330 FOR X=1 TO 11
  425. 4340 READ O1$(X),O2$(X),TR(X),IN$(X)
  426. 4350 NEXT X
  427. 4360 FOR I=1 TO 17
  428. 4370 READ ROOM$(I)
  429. 4380 NEXT I
  430. 4390 RETURN
  431. 4400 REM ** ROOM DATA **
  432. 4410 DATA 0,4,0,0,0,0:REM ROOM 1
  433. 4420 DATA 0,8,3,0,0,0:REM ROOM 2
  434. 4430 DATA 0,0,0,2,0,0:REM ROOM 3
  435. 4440 DATA 1,10,5,0,0,0:REM ROOM 4
  436. 4450 DATA 0,0,0,4,0,0:REM ROOM 5
  437. 4460 DATA 0,12,7,0,0,0:REM ROOM 6
  438. 4470 DATA 0,0,0,6,0,0:REM ROOM 7
  439. 4480 DATA 0,0,9,0,0,0:REM ROOM 8
  440. 4490 DATA 0,14,10,8,0,0:REM ROOM 9
  441. 4500 DATA 4,0,11,9,0,0:REM ROOM 10
  442. 4510 DATA 0,0,0,10,0,0:REM ROOM 11
  443. 4520 DATA 6,0,0,0,0,0:REM ROOM 12
  444. 4530 DATA 0,16,0,0,0,0:REM ROOM 13
  445. 4540 DATA 9,0,0,0,0,0:REM ROOM 14
  446. 4550 DATA 0,17,0,0,0,0:REM ROOM 15
  447. 4560 DATA 13,0,0,0,0,0:REM ROOM 16
  448. 4570 DATA 15,0,0,0,0,0:REM ROOM 17
  449. 4580 DATA "BRI","There is a brick on the floor near you.",17,"a brick"
  450. 4590 DATA "NEW","On the floor, there is an old newspaper.",17,"a newspaper"
  451. 4600 DATA "NOT","There is a note laying nearby.",8,"a note"
  452. 4610 DATA "KEY","There is a shining key here.",255,"a key"
  453. 4620 DATA "BEA","There is a scientific beaker full of liquid near you.",8,"a beaker full of liquid"
  454. 4630 DATA "SLI","There is a slip of paper lying here.",5,"a slip"
  455. 4640 DATA "FIL","A file containg important information is here.",255,"a file"
  456. 4650 DATA "ASP","There is a aspirin here.",255,"an aspirin"
  457. 4660 DATA "GUA","There is an alert guard here.",10,""
  458. 4670 DATA "GUA","There is an unconsicous guard here.",255,""
  459. 4680 DATA "WOR","There is a missle worker here.",16,""
  460. 4690 DATA Vault Room,Maintence Room,Secret Room,Hallway,Repair Closet
  461. 4700 DATA Storage Room,Balcony,Labrotory,Hallway,Guard Room,Elevator
  462. 4710 DATA Elevator,Elevator,Record Room,North Cell,Missle Site
  463. 4720 DATA South Cell
  464. y,Labrotory,Hallway,Guard Room,Elevator
  465. 4710 DATA Elevator,Elevator,Record Room,Nort