home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol078 / survival.bas < prev    next >
BASIC Source File  |  1984-04-29  |  16KB  |  682 lines

  1.     REM SURVIVAL: WRITTEN BY    ???
  2.     REM Published in CREATIVE COMPUTING about Jan-Feb 1982
  3.     REM Typed in by R Logan & Ian Lycholm CBASIC 2 VER
  4.  
  5.     REM This version is for =====> CBASIC 2 <=====
  6.  
  7.     DIM T$(47)
  8.     DIM M(42,8)
  9.     DIM O(14)
  10.  
  11.     REM    **INITIALIZE TEXT AND MOVE MATRICES
  12.  
  13.     PRINT"WELCOME TO THE GAME OF SURVIVAL. WOULD "
  14.     PRINT"YOU LIKE INSTRUCTIONS ?"
  15.     INPUT D$
  16.     IF D$="Y" THEN GOSUB 5050
  17.     FOR I=1 TO 47
  18.         READ T$(I)
  19.     NEXT I
  20.     FOR I=1 TO 42
  21.         FOR J=1 TO 8
  22.             READ M(I,J)
  23.         NEXT J
  24.     NEXT I
  25.  
  26.     REM    **INITIALIZE OTHER PROGRAM VARIABLES
  27.  
  28.     REM    ** P=CURRENT POSITION       C=NO.OF ITEMS CARRIED
  29.     REM    ** T1=CURRENT ELAPSED TIME  F4=ILLUMINATOR ON FLAG
  30.     REM    ** T2=OXYGEN REMAINING      F1=METEOR SHOWER FLAG
  31.     REM    ** F0=OXYGEN IN USE FLAG    F2=OPEN SHED FLAG
  32.     REM    ** V=VISITS TO COMP ROOM    F7=BOMB DEACTIVATED FLAG
  33.     REM    ** P1=PWR IN POWER UNIT   F9=OXYGEN REQ'D IN STATION
  34.     REM    ** P2=PWR IN POWER PACK
  35.  
  36. 320    LET P=1
  37.     LET C=2
  38.     LET T1=0
  39.     LET T2=185
  40.     LET P1=230
  41.     LET P2=50
  42.     LET V=0
  43.     LET F0=1
  44.     LET O(1)=21
  45.     LET O(2)=19
  46.     LET O(3)=99
  47.     LET O(4)=6
  48.     LET O(5)=32
  49.     LET O(6)=0
  50.     LET O(7)=38
  51.     LET O(8)=35
  52.     LET O(9)=0
  53.     LET O(10)=35
  54.     LET O(11)=99
  55.     LET O(12)=33
  56.     LET O(13)=34
  57.     LET O(14)=37
  58.     LET M(14,4)=0
  59.     LET M(14,8)=M(14,7)+1
  60.     LET M(2,8)=M(2,7)+1
  61.     LET F1=0
  62.     LET F2=0
  63.     LET F4=0
  64.     LET F7=0
  65.     LET F9=0
  66.  
  67.     REM    **DISPLAY CURRENT STATUS AND LOCATION INFO
  68.  
  69. 650    PRINT "ELAPSED TIME: "; T1; "MINUTES"
  70.     IF O(11)=99 THEN PRINT "POWER UNIT: "; P1; "UNITS"
  71.     IF O(14)=99 THEN PRINT "POWER PACK: "; P2; "UNITS"
  72.     LET T1=T1+5
  73.     IF O(11)=99 AND P1>5 THEN LET P1=P1-5
  74.     IF O(14)=99 AND  P2>5 THEN LET P2=P2-5
  75.     IF O(11)=99 AND  P1=0 THEN 3680
  76.     IF O(14)=99 AND  P2=0 THEN 3680
  77.  
  78. 730    IF T1>400 THEN 2960
  79.     IF T1>350 THEN 3840
  80.     IF T1>200 THEN 3740
  81.  
  82. 760    IF F0=1 THEN LET T2=T2-5
  83.     IF T2<0 THEN LET T2=0
  84.     IF F0=0 THEN 800
  85.     IF T2>0 THEN 840
  86.  
  87. 800    IF F9=0 THEN 820
  88.     IF P>21 THEN 2900
  89.  
  90. 820    IF P<18 THEN 2900
  91.     IF P=38 THEN 1700
  92. 840    IF P=38 THEN 3590
  93. 850    IF F0=1 THEN PRINT "OXYGEN REMAINING: "; T2; "MINUTES"
  94.     PRINT "PRESENT LOCATION STATUS: YOU ARE"
  95.     FOR I=M(P,7) TO M(P,8)
  96.         PRINT T$ (I)
  97.     NEXT I
  98.     PRINT "##"
  99.  
  100.     REM    **DISPLAY ANY OBJECTS PRESENT    
  101.  
  102. 940    IF P=2 THEN 1920
  103. 950     FOR I=1 TO 14
  104.         IF O(I)<>P THEN 990
  105.         GOSUB 4410
  106.         PRINT "THERE IS ";B$; " HERE."
  107. 990    NEXT I
  108.     GOTO 2000
  109.  
  110. 1010    REM
  111.     REM    **READ & PROCESS KEYBOARD RESPONSE
  112.     REM
  113.  
  114. 1040    INPUT B$
  115.     LET I=0
  116.     IF LEN(B$)<>1 THEN GOTO 1320    
  117.  
  118. 1070    IF B$="N" THEN LET I=1
  119.     IF B$="S" THEN LET I=2
  120.     IF B$="E" THEN LET I=3
  121.     IF B$="W" THEN LET I=4
  122.     IF B$="U" THEN LET I=5
  123.     IF B$="D" THEN LET I=6
  124.     IF B$="Q" THEN 6200
  125.     IF I=0 THEN 1570
  126.     IF M(P,I)=0 THEN 1270
  127.     IF M(P,I)=99 THEN 2940
  128.     LET Q=M(P,I)
  129.     IF P=12 THEN 3060
  130.     IF P=13 THEN 3180
  131.     IF P=22 THEN 3310
  132.     IF P=23 THEN 3420
  133.     IF P=29 THEN 3470
  134.  
  135. 1230    LET R=P
  136.     LET P=Q
  137.     IF P=35 THEN LET V=V+1
  138.     GOTO 650
  139.  
  140. 1270    PRINT "YOU CANNOT GO IN THAT DIRECTION!"
  141.     GOTO 1040
  142.  
  143.     REM
  144.     REM    ** PROCESS 2 OR MORE CHARACTER COMMANDS
  145.     REM
  146.  
  147. 1320    LET C$=LEFT$(B$,3) 
  148.     IF C$="LOO" THEN 650
  149.     IF C$="DES" THEN 650
  150.     IF C$="GET" THEN 2190
  151.     IF C$="TAK" THEN 2190
  152.     IF C$="KEE" THEN 2190
  153.     IF C$="DRO" THEN 2580
  154.     IF C$="LEA" THEN 2580
  155.     IF C$="PUT" THEN 2580
  156.     IF C$="INV" THEN 2780
  157.     IF C$="QUI" THEN 6200
  158.     IF C$="END" THEN 6200
  159.     IF C$="TRA" THEN 1750
  160.     IF C$="DIG" THEN 1860
  161.     IF C$="DEB" THEN 1610
  162.     IF C$="FUE" THEN 4030
  163.     IF C$="REA" THEN 4250
  164.     IF C$="DEA" THEN 3890
  165.     IF C$="BLA" THEN 4110
  166.     IF C$="UP" THEN 1640
  167.     IF C$="DOW" THEN 1640
  168.     IF C$="NOR" THEN 1640
  169.     IF C$="SOU" THEN 1640
  170.     IF C$="EAS" THEN 1640
  171.     IF C$="WES" THEN 1640
  172.  
  173. 1570    PRINT "INVALID COMMAND!"
  174.     GOTO 1040
  175.  
  176. 1590    PRINT "I CANNOT PROCESS YOUR REQUEST!"
  177.     GOTO 1040
  178.  
  179. 1610     PRINT "ENTER LOCATION"
  180.     INPUT P
  181.     GOTO 650
  182.  
  183. 1640    LET D$=B$
  184.     LET B$=D$
  185.     GOTO 1070
  186.  
  187.     REM
  188.     REM    **PROCESS ENTRY TO HANGER FROM AIR LOCK"
  189.     REM
  190.  
  191. 1700    IF R<>39 THEN 2900
  192.     GOTO 840
  193.  
  194.     REM
  195. 1730    REM    **PROCESS TRANSPORT COMMAND
  196. 1740    REM
  197.  
  198. 1750    IF P<>36 THEN 1800
  199. 1760    IF O(8)=99 THEN 1590
  200. 1770    LET P=O(8)
  201. 1780    PRINT "BEAMING IN PROCESS."
  202. 1790    GOTO 650
  203.  
  204. 1800    IF P<>O(8) THEN 1590
  205. 1810    LET P=36
  206. 1820    GOTO 1780
  207.  
  208. 1830    REM
  209. 1840    REM    **PROCESS DIG COMMAND
  210. 1850    REM
  211.  
  212. 1860    IF P<>10 THEN 1590
  213. 1870    LET O(9)=10
  214. 1880    GOTO 940
  215.  
  216. 1890    REM
  217. 1900    REM    **DROP ILLUMINATOR IF AT OVERLOOK
  218. 1910    REM
  219.  
  220. 1920    IF O(4)<>99 THEN 950
  221. 1930    LET O(4)=100
  222. 1940    PRINT "YOU DROPPED YOUR ILLUMINATOR! YOU "
  223. 1950    PRINT "CANNOT RETRIEVE IT."
  224. 1960    GOTO 950
  225.  
  226. 1970    REM
  227. 1980    REM    **PROCESS ROBOT
  228. 1990    REM
  229.  
  230. 2000    IF O(5)=28 THEN LET O(5)=35
  231. 2010    IF O(5)=42 THEN LET O(5)=28
  232. 2020    IF O(5)=41 THEN LET O(5)=42
  233. 2030    IF O(5)=27 THEN LET O(5)=41
  234. 2040    IF O(5)=25 THEN LET O(5)=27
  235. 2050    IF O(5)<>35 THEN 2090
  236. 2060    IF P<>28 THEN 1010
  237. 2070    LET M(28,1)=35
  238. 2080    GOTO 1010
  239.  
  240. 2090    IF O(5)<>32 THEN 1010
  241. 2100    IF P<>32 THEN 1010
  242. 2110    LET O(5)=25
  243. 2120    IF O(13)=99 THEN 1010
  244. 2130    PRINT "ROBOT FAILS TO RECOGNIZE YOU. IT "
  245. 2140    PRINT "FIRES A PHASOR WEAPON AT YOU!"
  246. 2150    GOTO 2980
  247.  
  248. 2170    REM    **PROCESS GET OR TAKE COMMAND
  249.  
  250. 2190    GOSUB 4590
  251. 2200    IF I>0 THEN 2260
  252. 2210    IF I<0 THEN 2240
  253. 2220    PRINT "I DON'T RECOGNIZE "; RIGHT$(B$,LEN(B$)-J);"."
  254. 2230    GOTO 1040
  255.  
  256. 2240    PRINT "WHAT ITEM?"
  257. 2250    GOTO 1040
  258.  
  259. 2260    IF O(I)<>P THEN 2370
  260. 2270    IF C>3 THEN 2390
  261. 2280    IF I=5 THEN 2410
  262. 2290    IF I=10 THEN 2430
  263. 2300    IF I=11 THEN 2460
  264. 2310    IF I=14 THEN 2490
  265. 2320    LET C=C+1
  266. 2330    O(I)=99
  267. 2340    IF I=3 THEN LET F0=1
  268. 2350    PRINT "O.K."
  269. 2360    GOTO 1040
  270.  
  271. 2370    PRINT"THERE IS NO "; RIGHT$(B$,LEN(B$)-J);" HERE!"
  272. 2380    GOTO 1040
  273.  
  274. 2390    PRINT "YOU CAN'T CARRY ANY MORE!"
  275. 2400    GOTO 1040
  276.  
  277. 2410    PRINT "YOU CAN'T CARRY A ROBOT!"
  278. 2420    GOTO 1040
  279.  
  280. 2430    PRINT "YOU CAN'T GET THE MESSAGE, IT'S "
  281. 2440    PRINT "ON THE TERMINAL SCREEN."
  282. 2450    GOTO 1040
  283.  
  284. 2460    IF O(14)=99 THEN 2520
  285. 2470    O(11)=99
  286. 2480    GOTO 2320
  287.  
  288. 2490    IF O(11)=99 THEN 2520
  289. 2500    O(14)=99
  290. 2510    GOTO 2320
  291.  
  292. 2520    PRINT "YOU CAN'T HAVE MORE THEN ONE"
  293. 2530    PRINT "POWER SUPPLY."
  294. 2540    GOTO 1040
  295.  
  296. 2550    REM
  297. 2560    REM    **PROCESS DROP OR LEAVE COMMAND
  298. 2570    REM
  299.  
  300. 2580    GOSUB 4590
  301. 2590    IF I>0 THEN 2620
  302. 2600    IF I<0 THEN 2240
  303. 2610    GOTO 2220
  304.  
  305. 2620    IF O(I)<>99 THEN 2690
  306. 2630    LET C=C-1    
  307. 2640    O(I)=P
  308. 2650    IF I=3 THEN LET F0=0
  309. 2660    IF I=11 THEN 2710
  310. 2670    IF I=14  THEN 2710
  311. 2680    GOTO 2350
  312.  
  313. 2690    PRINT"YOU DON'T HAVE "; RIGHT$(B$,LEN(B$)-J); "!"
  314. 2700    GOTO 1040
  315.  
  316. 2710    IF P<22 THEN 2870
  317. 2720    IF P=38 THEN 2870
  318. 2730    IF F9=1 THEN 2870
  319. 2740    GOTO 2350
  320.  
  321. 2760    REM    **PROCESS INVENTORY COMMAND
  322.  
  323. 2780    FOR I=1 TO 14
  324. 2790        IF O(I)<>99 THEN 2820
  325. 2800        GOSUB 4410
  326. 2810        PRINT "YOU HAVE "; B$;"."
  327. 2820    NEXT I
  328. 2830    GOTO 1040
  329.  
  330. 2850    REM    **PROGRAM TERMINATION PROCESSING
  331.  
  332. 2870    PRINT "YOU HAVE NO POWER OR POWER PACK."
  333. 2880    PRINT "YOU HAVE FROZEN TO DEATH."
  334. 2890    GOTO 2980
  335.  
  336. 2900    PRINT "OXYGRN REQUIRED HERE, NONE AVAILABLE."
  337. 2910    GOTO 2980
  338.  
  339. 2920    PRINT "A NUCLEAR DETONATION HAS JUST OCCURRED."
  340. 2930    GOTO 2980
  341.  
  342. 2940    PRINT "YOU HAVE FALLEN TO YOUR DEATH."
  343. 2950    GOTO 2980
  344.  
  345. 2952    PRINT "YOU HAVE BEEN ZAPPED BY THE LASER."
  346. 2954    GOTO 2980
  347.  
  348. 2960    PRINT "THE MOON BASE HAS JUST BEEN DESTROYED "
  349. 2970    PRINT "BY A LARGE ASTEROID."
  350. 2980    PRINT "YOU HAVE FAILED TO SURVIVE."
  351. 2990    PRINT "DO YOU WISH TO TRY AGAIN?"
  352. 3000    INPUT D$
  353. 3010    IF D$="Y" THEN 320
  354. 3020    GOTO 6200
  355.  
  356. 3030    REM
  357. 3040    REM    **PROCESS METEOR SHOWER
  358.  
  359. 3060    IF M(P,I)<>13 THEN 1230
  360. 3070    IF F2=1 THEN 1230
  361. 3080    PRINT "THERE IS A METEOR SHOWER, YOUR SPACE "
  362. 3090    PRINT"SUIT HAS DEVELOPED A LEAK!"
  363. 3100    GOSUB 4890
  364. 3110    IF I<>2 THEN 2980
  365. 3120    PRINT "YOUR SUIT IS NOW SEALED."
  366. 3130    LET F2=1
  367. 3140    GOTO 1230
  368.  
  369. 3150    REM
  370. 3160    REM    **PROCESS LOCKED SHED
  371. 3170    REM
  372.  
  373. 3180    IF M(P,I)<>22 THEN 1230
  374. 3190    IF F1=1 THEN 1230
  375. 3200    PRINT "THE SHED IS LOCKED!"
  376. 3210    GOSUB 4890
  377. 3220    IF I<>1 THEN 3260
  378. 3230    PRINT "YOU RE IN THE SHED AIR LOCK."
  379. 3240    LET F1=1
  380. 3250    GOTO 1230
  381.  
  382. 3260    PRINT "YOUR ATTEMPT FAILS."
  383. 3270    GOTO 1040
  384.  
  385. 3280    REM
  386. 3290    REM    **PROCESS DARK VENTILATOR SHAFT
  387. 3300    REM
  388.  
  389. 3310    IF M(P,I)<>23 THEN 1230
  390. 3320    IF F4=1 THEN 1230
  391. 3330    PRINT "IT IS DANGEROUS TO PROCEED IN THE DARK!"
  392. 3340    GOSUB 4890
  393. 3350    IF I<>4 THEN 2940
  394. 3360    PRINT "THE SHAFT IS NOW ILLUMINATED."
  395. 3370    LET F4=1
  396. 3380    GOTO 1230
  397.  
  398. 3390    REM
  399. 3400    REM    **PROCESS SHAFT WITH NO ILLUMINATOR
  400. 3410    REM
  401.  
  402. 3420    IF O(4)<>99 THEN 2940
  403. 3430    GOTO 1230
  404.  
  405. 3450    REM    **PROCESS LASER BEAM
  406.  
  407. 3470    IF M(P,I)<>37 THEN 1230
  408. 3480    IF F3=1 THEN 1230
  409. 3490    PRINT "THERE IS A LASER BEAM HERE.  PASSAGE NOT "
  410. 3500    PRINT "POSSIBLE WITH BEAM PRESENT."
  411. 3510    GOSUB 4890
  412. 3520    IF I<>12 THEN 2952
  413. 3530    PRINT "THE BEAM IS NOW DEFLECTED."
  414. 3540    LET F3=1
  415. 3550    GOTO 1230
  416.  
  417. 3570    REM    **PROCESS BLOWN SEAL IN SPACE STATION
  418.  
  419. 3590    IF R<>29 THEN 850
  420. 3600    IF F9=1 THEN 850
  421. 3610    LET F9=1
  422. 3620    PRINT "YOU HAVE JUST BLOWN AIR SEAL IN "
  423. 3630    PRINT "SPACE STATION."
  424. 3640    GOTO 850
  425.  
  426. 3660    REM    **POWER REQUIRED TESTING
  427.  
  428. 3680    IF P<22 THEN 2870
  429. 3690    IF F9=1 THEN 2870
  430. 3700    GOTO 730
  431.  
  432. 3720    REM    **EXPOSE DEACTIVATOR
  433.  
  434. 3740    IF F5=1 THEN 760
  435. 3750    LET O(6)=14
  436. 3760    LET M(2,8)=M(2,7)
  437. 3770    LET M(14,8)=M(14,7)
  438. 3780    LET M(14,4)=2
  439. 3790    LET F5=1
  440. 3800    GOTO 760
  441.  
  442. 3820    REM    **DETONATE BOMB
  443.  
  444. 3840    IF F7=0 THEN 2920
  445. 3850    GOTO 760
  446.  
  447. 3870    REM    **DEACTIVATE BOMB
  448.  
  449. 3890    IF O(6)<>99 THEN 3940
  450. 3900    IF O(7)<>99 THEN 3980
  451.     LET F7=1
  452. 3910    PRINT "BOMB IS NOW DEACTIVATED."
  453. 3920    GOTO 1040
  454.  
  455. 3940    PRINT "YOU HAVE NOTHING TO DO WITH IT!"
  456. 3950    GOTO 1040
  457.  
  458. 3960    PRINT"THERE IS NOTHING TO DO IT TO!"
  459. 3970    GOTO 1040
  460.  
  461. 3980    PRINT"YOU CAN'T DO IT FROM HERE!"
  462. 3990    GOTO 1040
  463.  
  464. 4010    REM    **FUEL ROCKET
  465.  
  466. 4030    IF P<>19 THEN 3980
  467. 4040    IF O(9)<>99 THEN 3940
  468. 4050    LET O(9)=98
  469. 4060    PRINT "FUEL IS NOW LOADED."
  470. 4070    GOTO 1040
  471.  
  472. 4090    REM    **BLASTOFF PROCESSING
  473.  
  474. 4110    IF P<>21 THEN 3980
  475. 4120    IF O(9)<>98 THEN 4200
  476. 4130    IF F7=1 THEN 4160
  477. 4140    PRINT "REPAIRS NOT YET COMPLETE."
  478. 4150    GOTO 1040
  479.  
  480. 4160    PRINT "CONGRATULATIONS. YOU HAVE JUST BLASTED "
  481. 4170    PRINT "OFF AND ARE ON YOUR WAY TO EARTH."
  482. 4180    PRINT "YOUR   ESCAPE TIME:"; T1; "MINUTES."
  483. 4190    GOTO 2990
  484.  
  485. 4200    PRINT "YOU'RE SPACE CRAFT HAS NO FUEL!"
  486. 4210    GOTO 1040
  487.  
  488. 4230    REM    **COMPUTER READOUT PROCESSING
  489.  
  490. 4250    IF P<>35 THEN 3980
  491. 4260    GOSUB 4590
  492. 4270    IF I<>10 THEN 3960
  493. 4280    IF V<>0 THEN 4320
  494. 4290    PRINT "BOMB DE-ACTIVATOR LOCATED SOMEWHERE EAST"
  495. 4300    PRINT " OF SPACE STATION, ON MOON'S SURFACE."
  496. 4310    GOTO 4360
  497.  
  498. 4320    IF V<>1 THEN 4350
  499. 4330    PRINT "LOCAL FUEL SOURCE: DILITHIUM CRYSTAL."
  500. 4340    GOTO 4360
  501.  
  502. 4350    PRINT "DILITHIUM FOUND IN SOFT SURFACES."
  503. 4360    IF F7=1 THEN PRINT "SPACECRAFT REPAIRS COMPLETED."
  504. 4370    GOTO 1040
  505.  
  506. 4390    REM    **SUBROUTINE TO DESCRIBE ITEMS AT LOCATION
  507.  
  508. 4410    IF I=1 THEN LET B$="AN ELECTRONIC KEY"
  509. 4420    IF I=2 THEN LET B$="SEALANT"
  510. 4430    IF I=3 THEN LET B$="AN OXYGEN MODULE"
  511. 4440    IF I=4 THEN LET B$="AN ILLUMINATOR"
  512. 4450    IF I=5 THEN LET B$="A ROBOT"
  513. 4460    IF I=6 THEN LET B$="A DEACTIVATOR"
  514. 4470    IF I=7 THEN LET B$="A NUCLEAR BOMB"
  515. 4480    IF I=8 THEN LET B$="A TRANSPORT UNIT"
  516. 4490    IF I=9 THEN LET B$="DILITHIUM CRYSTALS"
  517. 4500    IF I=10 THEN LET B$="A  COMPUTER MESSAGE"
  518. 4510    IF I=11 THEN LET B$="A  POWER UNIT"
  519. 4520    IF I=12 THEN LET B$="A  MIRROR"
  520. 4530    IF I=13 THEN LET B$="A CODED BADGE"
  521. 4540    IF I=14 THEN LET B$="A POWER PACK"
  522. 4550    RETURN
  523.  
  524. 4570    REM    **SUBROUTINE TO CONVERT AN ITEM TO A NUMERIC VALUE
  525.  
  526. 4590    IF MID$(B$,4,1)=" " THEN 4640     REM FOR J=1 TO LEN (B$)
  527. 4600    I=0 REM IF MID$(B$,J,1)=" " THEN 4640
  528. 4610    REM NEXT J
  529. 4620    REM I=J
  530. 4630    RETURN
  531. 4640    LET C$=MID$(B$,5,3)
  532. 4650    LET I=0
  533. 4660    IF C$="ELE" THEN LET I=1
  534. 4670    IF C$="KEY" THEN LET I=1
  535. 4680    IF C$="SEA" THEN LET I=2
  536. 4690    IF C$="OXY" THEN LET I=3
  537. 4700    IF C$="MOD" THEN LET I=3
  538. 4710    IF C$="ILL" THEN LET I=4
  539. 4720    IF C$="ROB" THEN LET I=5
  540. 4730    IF C$="DEA" THEN LET I=6
  541. 4740    IF C$="NUC" THEN LET I=7
  542. 4750    IF C$="BOM" THEN LET I=7
  543. 4760    IF C$="TRA" THEN LET I=8
  544. 4770    IF C$="DIL" THEN LET I=9
  545. 4780    IF C$="CRY" THEN LET I=9
  546. 4790    IF C$="COM" THEN LET I=10
  547. 4800    IF C$="MES" THEN LET I=10
  548. 4810    IF C$="UNI" THEN LET I=11
  549. 4820    IF C$="MIR" THEN LET I=12
  550. 4830    IF C$="BAD" THEN LET I=13
  551. 4840    IF C$="PAC" THEN LET I=14
  552. 4850    RETURN
  553.  
  554. 4870    REM    **SUBROUTINE TO PROCESS TRY COMMAND
  555.  
  556. 4890    INPUT B$
  557. 4900    REM LET C$=B$
  558. 4910    IF MID$(B$,1,3)="TRY" THEN 4950 
  559. 4920    IF MID$(B$,1,3)="USE" THEN 4950
  560. 4930    I%=-1
  561. 4940    RETURN
  562.  
  563. 4950    GOSUB 4590
  564. 4960    IF I<1 THEN 5050
  565. 4970    IF O(I)=99 THEN RETURN
  566. 4980    PRINT "YOU DON'T HAVE "; RIGHT$(B$,LEN(B$)-J); "!"
  567. 4990    GOTO 4930
  568.  
  569. 5000    PRINT "YOU'RE ATTEMPT FAILS!"
  570. 5010    GOTO 4930
  571.  
  572. 5030    REM    **PRINT INSTRUCTIONS
  573. 5050    PRINT "YOU'VE CRASH LANDED ON THE MOON. YOU HAVE LIMITED "
  574. 5070    PRINT "SUPPLIES AND TIME IN WHICH TO SURVIVE. TO TRAVEL, YOU MAY "
  575. 5090    PRINT "ENTER DIRECTIVES SUCH AS NORTH OR N, AS WELL AS S, E, W AND "
  576. 5110    PRINT "U,AND D (UP AND DOWN). YOU WILL ENCOUNTER VARIOUS ITEMS "
  577. 5130    PRINT "AND SITUATIONS DURING YOUR TRAVELS. TO COMMUNICATE, ENTER "
  578. 5150    PRINT "COMMANDS Z(VERBS), FOLLOWED BY OBJECT NAMES, IF APPLICABLE.  "
  579. 5170    PRINT "FOR EXAMPLE, GET XXX, LEAVE, USE, AND INVENTORY"
  580. 5190    PRINT " "
  581. 5200    PRINT "ONCE YOU HAVE SURVIVED, THE  "
  582. 5210    PRINT "OBJECT THEN IS TO ACHIEVE THE "
  583. 5220    PRINT "OPTIMUM SURVIVAL TIME. GOOD LUCK!!!"
  584.     RETURN
  585.  
  586.     REM    **TEXT LOCATION DESCRIPTIONS
  587.  
  588.     DATA "AT MARE SERENITATIA."
  589.     DATA "ON RIM OF POSIDONIUS."
  590.     DATA "TOTAL DARKNESS TO E."
  591.     DATA "TWIXT DAWES & PLINIUS."
  592.     DATA "AT PASS IN HAEMUS MTNS."
  593.     DATA "AT CRATER MANILUS."
  594.     DATA "AT MARE VAPORUM."
  595.     DATA "AT MT. EUDOXUS."
  596.     DATA "INSIDE ARISTOTELES."
  597.     DATA "IN CHANGING AREA."
  598.     DATA "IN LACUS SOMNORUM."
  599.     DATA "AT LACUS MORTIS."
  600.     DATA "THE SURFACE IS VERY SOFT HERE."
  601.     DATA "AT E. SIDE OF MARE IMBRIUM."
  602.     DATA "AT THE BASE OF PLATO CRATER. A "
  603.     DATA "SHINY OBJECT IS SEEN W.  "
  604.     DATA "BEFORE A METAL SHED. A "
  605.     DATA "SIGN READS VENT. SHAFT #2."
  606.     DATA "E. OF MARE SERENITATIS."
  607.     DATA "THERE IS TOTAL DARKNESS."
  608.     DATA "AT CRASH SITE OF A SPACE CRAFT."
  609.     DATA "THE SHIP ENTRANCE IS BEFORE YOU."    
  610.     DATA "AT THE CENTER OF MERE IMBRIUM."
  611.     DATA "IN THE AIR LOCK CHAMBER OF THE SHIP."
  612.     DATA "IN THE AFT CARGO AND FUEL STORAGE ROOM."
  613.     DATA "IN THE ENGINE ROOM OF THE SPACECRAFT."
  614.     DATA "IN THE SHIP'S CONTROL ROOM."
  615.     DATA "IN AN AIR LOCK CHAMBER."
  616.     DATA "INSIDE A VENTILATOR SHED. A LADDER "
  617.     DATA "LEADS DOWN INTO A LARGE METAL SHAFT."
  618.     DATA "IN A VENTILATOR PASSAGE."
  619.     DATA "AT A VENTILATOR OPENING. THROUGH THE "
  620.     DATA "OPENING A LIT PASSAGEWAY CAN BE SEEN."
  621.     DATA "IN A LIGHTED SPACE STATION CORRIDOR."
  622.     DATA "IN THE SPACE STATION INFIRMARY."
  623.     DATA "IN THE RECREATION ROOM AND LIBRARY."
  624.     DATA "IN THE MESS HALL. ABANDONED FOOD TRAYS "
  625.     DATA "ARE STILL ON THE TABLES."
  626.     DATA "IN THE STORAGE ROOM AND SUPPLY AREA."
  627.     DATA "IN THE SLEEPING QUARTERS."
  628.     DATA "IN AN ELEVATOR AT SUBSURFACE LEVEL."
  629.     DATA "IN AN ELEVATOR AT SURFACE LEVEL."
  630.     DATA "IN THE STATION CONTROL CENTER."
  631.     DATA "IN THE TRANSPORTER ROOM."
  632.     DATA "IN THE SPACE STATION LABORATORY."
  633.     DATA "IN THE HANGAR AREA. THE LAUNCH AREA "
  634.     DATA "IS JUST SOUTH OF HERE."
  635.  
  636.     REM    **MOVEMENT AND TEXT POINTER MATRIX
  637.  
  638.     DATA 07,04,02,15,00,00,01,01
  639.     DATA 09,03,14,01,00,00,02,03
  640.      DATA 02,05,14,04,00,00,04,04
  641.      DATA 01,05,03,00,00,00,05,05
  642.     DATA 04,00,03,06,00,00,06,06
  643.     DATA 00,00,05,00,00,00,07,07
  644.     DATA 08,01,09,11,00,00,08,08
  645.     DATA 00,07,10,00,00,00,09,09
  646.     DATA 10,02,14,07,00,00,11,11
  647.     DATA 00,09,14,08,00,00,12,13
  648.     DATA 12,15,07,16,00,00,14,14
  649.     DATA 00,11,00,13,00,00,15,16
  650.     DATA 00,16,12,22,00,00,17,18
  651.     DATA 99,99,99,99,00,00,19,20
  652.     DATA 11,18,01,00,00,00,21,22
  653.     DATA 17,16,07,16,00,00,23,23
  654.     DATA 16,17,11,17,00,00,23,23
  655.     DATA 15,19,00,00,00,00,24,24
  656.     DATA 18,00,20,00,00,00,25,25
  657.     DATA 00,00,00,19,21,00,26,26
  658.     DATA 00,00,00,00,00,20,27,27
  659.     DATA 00,00,13,00,00,23,29,30
  660.     DATA 24,00,00,00,22,00,31,31
  661.     DATA 25,23,00,00,00,00,32,33
  662.     DATA 27,26,33,32,24,00,34,34
  663.     DATA 25,00,30,31,00,00,34,34
  664.     DATA 34,25,41,00,00,00,34,34
  665.     DATA 00,29,42,36,00,00,34,34
  666.     DATA 28,38,40,37,00,00,34,34
  667.     DATA 00,00,00,26,00,00,35,35
  668.     DATA 00,00,26,00,00,00,36,36
  669.     DATA 00,00,25,00,00,00,37,38
  670.     DATA 00,00,00,25,00,00,40,40
  671.     DATA 00,27,00,00,00,00,39,39
  672.     DATA 00,28,00,00,24,00,43,43
  673.     DATA 00,00,28,00,00,00,44,44
  674.     DATA 00,00,29,00,00,00,45,45
  675.     DATA 29,00,39,00,00,00,46,47
  676.     DATA 40,00,00,38,00,00,28,28
  677.     DATA 00,39,00,29,00,00,10,10
  678.     DATA 00,00,00,27,42,00,41,41
  679.     DATA 00,00,00,28,00,41,42,42
  680.  
  681. 6200    END
  682.