100 DIMD$(18),O$(54),L(48),P(18,6):L=1:L2=1:FORX=1TO48:PRINT:NEXT 110 FORX=1TO18:READD$(X):NEXT 120 DATACONTROL ROOM,ENGINE ROOM,BARREN FIELD,MOAT 130 DATAPLAZA,ANCIENT TEMPLE,DRY WELL,DESERTED ROOM,GARDEN 150 DATAOBSERVATORY,KITCHEN,MAZE OF HALLS,DANK CELLAR,SECRET PASSAGE 170 DATAXPLT'S SCENT SHOP,MARTIAN HABITAT,LEDGE,SANDSLED 180 FORX=1TO54:READO$(X):O$=O$+LEFT$(O$(X),2) 190 IFX>6THENREADL(X-6) 200 NEXT:DATANORTH,SOUTH,EAST,WEST,UP,DOWN 210 DATANETS,2,FASTGRO,20,HOLY GRAIL,5,SEEDS,20 220 DATAALCOHOL,20,BRASS TUBING,13,FLUTE PLAYER STATUE,3 230 DATAGOLD BARS,13,TORCH,6 240 DATAINJECTOR PUMP,7,HARMONICA,20,LIGHTER,20,SNEAKERS,19,TABLE,15 250 DATAHELMET,20,MARTIAN,20,TIMEPIECE,19,MATERIALS FOR STILL,19 270 DATAJEWELED CLUB,18,OXYBOTTLE,19 280 DATAAIR ROCKS,3,FLASKS,15,TEXTBOOK,1,CRATES-CLOSED,2 290 DATATRAPDOOR-OPEN,20,MIRROR ON WALL,8 300 DATAROPE,17,SIGN,5,RUG,8,WATER,4,ORGAN,8,FIRE,20 310 DATA(SIGN) USE FERTILIZER,9 320 DATABUTTON-RED PUSH TYPE,1,SANDSLED,3,OVEN,11,KETTLE,11 330 DATACONTROL PANEL,1,RACK-SAYS PLACE INJECTOR HERE,2 340 DATALOW-OX WARNING ON,2,RECHARGING STATION,2,STATUE,6 350 DATARAMP,7,LOCKER,2,DRY WELL,6,VIEWPORT,1,(SIGN)BRING FUEL HERE,2 370 FORY=1TO18:FORX=1TO6:READP(Y,X):NEXTX,Y:DATAPOCKETS,20 380 DATA,,,,,2,,,3,,1,,4,4,5,2,,,3,3,4,4,4,4 390 DATA6,15,8,3,,,,5,9,,,,,,12,,, 400 DATA,,,5,,,,,,6,,,,,,17, 410 DATA14,,16,,,,,,,,,,,,,12,,, 420 DATA,,,10,,8,5,,,,16,,11,,,,,15 430 DATA,,10,,,,,,,,,3 440 W$="GOTALODRHIOPTILIUNPUPL" 450 GOTO760 460 IFL=12THENFORX=1TO6:P(12,X)=0:NEXT:P(12,INT(2*RND(8))+1)=13 465 IFL(15)<>0THENL(30)=4 470 P(12,(INT(RND(8)*2)+3))=7:IFL=2THENO=0 480 IFL(4)<>11ORL(6)<>11ORL(32)<>11ORL(30)<>11ORGR=0THEN500 490 O$(43)="STILL":IFL(5)=20THENL(5)=11 500 PRINT:PRINT"TELL ME WHAT TO DO":INPUTA$:PRINT:B$="":FORX=1TOLEN(A$) 510 IFMID$(A$,X,1)=" "ANDLEN(A$)>X+1THENB$=MID$(A$,X+1,2) 520 NEXT:F=0:S=0:GOSUB1660 530 IFA$="SM"ORA$="BR"THENA$="HI" 540 L2=L:IFB$="TU"THENB$="BR" 550 IFA$="RE"THENA$="LO" 560 IFB$="WH"THENB$="SE" 570 IFA$="GE"ORA$="GR"THENA$="TA" 580 IFB$="CL"THENB$="JE" 590 IFB$="GR"THENB$="HO" 600 G=G+1:IFG<60ORRND(8)<.9ORL(16)<>20THEN630 610 X=INT(RND(8)*31):IFL(X)<>0ANDL(X)<>20THENL(X)=INT(RND(8)*18)+1 620 PRINT"I HEAR A FAINT RUSTLING SOUND" 630 IFRND(8)>.98ANDL(16)=20THENPRINT"I THINK I'M BEING WATCHED!" 640 IFL(4)=9ANDL(30)=9ANDL(2)=9THENGR=1:O$(10)="WHEAT":L(30)=4 650 FORX=1TOLEN(W$)STEP2:IFMID$(W$,X,2)=A$THENF=(X+1)/2 660 NEXT:FORX=1TOLEN(O$)STEP2:IFMID$(O$,X,2)=B$THENS=(X+1)/2 670 NEXT:IFA$="IN"THEN1030 680 IFM=4ANDF<>2THENM=0:PRINT:PRINT"HE LEFT!":L(16)=20:PRINT 690 IFL>2THENO=O+1:IFO>50THENPRINT"LOW OXYGEN WARNING----RECHARGE" 700 IFL>2ANDL(20)<>0THENO=O+7 710 IFO>63ANDL>2THENPRINT"GASP, GASP, I DIED FROM LACK OF AIR":END 720 IFF<1THENPRINT"HUH??":GOTO460 730 ONF-1GOTO820,1060,1230,1390,1460,1490,1530,1590,1600,1680 740 IFS<1ORS>6ORL=6ANDS=4THEN1270 750 IFP(L,S)>0THENL=P(L,S):L2=L 760 PRINT"I AM IN - ":PRINTD$(L):Y=0 770 IFLI=0AND(L=7ORL=13ORL=14)THENPRINT"IT'S DARK. CAN'T SEE!":GOTO460 780 PRINT"I SEE ":FORX=1TO47:IFL(X)=L2THENPRINT"*"O$(X+6):Y=Y+1 790 NEXT:PRINT:PRINT:IFY=0THENPRINT"NOTHING":PRINT 800 PRINT"OBVIOUS EXITS ARE-":FORX=1TO6:IFP(L,X)>0THENPRINTO$(X);"*"; 810 NEXT:PRINT:GOTO460 820 IFS<6THENPRINT"HUH?":GOTO460 830 IFS=11THEN940 840 IFS=22ANDL(16)=LTHEN940 850 IFL(S-6)<>LTHENPRINT"I DON'T SEE IT HERE":GOTO460 860 IFC>6THENPRINT"CAN'T I'M CARRYING TOO MUCH":GOTO460 870 IFS>37THENPRINT"I CAN'T TAKE THAT":GOTO460 880 IFS>31THENONS-31GOTO900,910,920,930,940 890 L(S-6)=0:C=C+1:GOTO460 900 PRINT"IT'S GLUED TO THE WALL-BUT FRAGILE":GOTO460 910 PRINT"SIGN FELL":L(27)=0:GOTO460 920 PRINT"IT'S TIED TO A LEDGE ON THE SECOND FLOOR":GOTO460 930 L(29)=0:IFL=8THENPRINT"AHA!":L(25)=8:GOTO460 940 INPUT"IN WHAT";A$:GOSUB1660 950 IFS=22AND(A$<>"NE"ORL(1)<>0)THENPRINT"GOT AWAY":L(16)=20:GOTO460 960 IFS=22THEN1730 970 IFS=11ANDA$<>"FL"THENPRINT"IT EVAPORATED":GOTO460 980 IFS=11ANDL(5)=LANDL(22)=0THENL(5)=0:GOTO460 990 IFA$="FL"ANDL(22)=0THENPRINT"IT DISSOLVED":L(22)=15:GOTO460 1000 IFA$="HO"ORA$="GR"THENPRINT"LEAKED OUT-IT'S A HOLEY GRAIL":GOTO460 1010 IFA$="HE"ANDL(15)=0THENL(30)=0:GOTO460 1020 PRINT"I DON'T THINK THAT WILL WORK":GOTO460 1030 PRINT"I'M CARRYING":FORX=1TO34 1040 IFL(X)=0THENPRINTO$(X+6) 1050 NEXT:GOTO460 1060 IFB$=""ORS<6THEN760 1070 IF(S=29ORS=24ORS=9ORS=23)ANDL(S-6)<>0THEN1220 1080 IFS<>32ORL<>8THEN1100 1090 PRINT"I SEE A RUGGED PERSON IN A POCKETED SURVIVAL SUIT":GOTO460 1100 IFS<>54ORL(11)<>20THEN1120 1110 PRINT"A HARMONICA AND A LIGHTER":L(11)=0:L(12)=0:GOTO460 1120 IFB$="WE"ANDL=6THENPRINT"THERE'S SOMETHING","THERE":GOTO460 1130 IFS=34THENPRINT"EARTHIE GO HOME!!":GOTO460 1140 IFS=41ANDL=3THENL2=18:GOTO780 1150 IFS=52ANDL=1THENL2=3:GOTO780 1160 IFS=9THENPRINT"SEEDS!":L(4)=L:GOTO460 1170 IFS<>29THEN1190 1180 PRINT"SUGGESTED FUELS":PRINT"HYDRAZINE":PRINT"ALCOHOL":GOTO460 1190 IFS=24THENPRINT"WATER, POT, TUBING, FIRE, GRAIN":GOTO460 1200 IFS=23THENPRINT60-O"MIN. OF AIR LEFT":GOTO460 1210 PRINT"NOTHING SPECIAL":GOTO460 1220 PRINT"I DON'T HAVE IT":GOTO460 1230 IFB$=""ORS<6THENPRINT"HUH??":GOTO460 1240 IFL(S-6)<>0THEN1220 1250 IFB$="RU"ANDL=8THENL(25)=20 1260 L(S-6)=L:C=C-1:GOTO460 1270 IFS=41ANDL=3THENL=18:L2=L:GOTO760 1280 IFL<>6THEN1310 1290 IFB$="WE"ANDDR=0THENPRINT"I FELL IN AND DIED":END 1300 IFB$="WE"THENL=7 1310 IFL(25)=8ANDS=31ANDL(13)<>0THEN1370 1320 IFS=31ANDL=8THENL=7:L2=L:GOTO760 1330 IFS=49ANDL=7ANDL(29)=8THENPRINT"BLOCKED":GOTO460 1340 IFS=49ANDL=7ANDC>1THENPRINT"CARRYING TOO MUCH":GOTO460 1350 IFS=49ANDL=7THENL=8:L2=L:GOTO760 1360 GOTO460 1370 PRINT"I SLIPPED DOWN A RAMP AND DIED":END 1380 GOTO460 1390 INPUT"WITH WHAT";A$:GOSUB1660:IFA$="JE"THENA$="CL" 1400 IFA$="FI"ORA$="HA"ORA$="FO"THENPRINT"YOU'RE KIDDING":GOTO460 1410 IFS>32ORS<30ORA$<>"CL"ORL(19)<>0THENPRINT"NOTHING YET":GOTO460 1420 IFS=32THENO$(32)="BROKEN MIRROR":P(8,5)=14:GOTO460 1430 IFS=30THENO$(30)="SPLINTERS":L(2)=L 1440 GOTO460 1450 IFS=30THENPRINT"IT'S NAILED, GLUED AND BANDED SHUT":GOTO460 1460 IFS<>50ORL<>2THEN460 1470 FORX=1TO40:IFL(X)=19THENL(X)=2 1480 NEXT:GOTO460 1490 IFS<>33THEN1520 1500 INPUT"TO WHAT";A$:GOSUB1660 1510 IFA$="ST"THENR=1:P(6,6)=7:P(7,5)=6:GOTO460 1520 PRINT"CAN'T":GOTO460 1530 IFS=15ANDL(9)=0THENLI=1:GOTO460 1540 IFS<>38THENPRINT"CAN'T":GOTO460 1550 IFL<>11THENPRINT"NOT HERE AIN'T SAFE":GOTO460 1560 IFL(14)<>11THENPRINT"NOT ENOUGH WOOD":GOTO460 1570 IFL(21)<>11THENPRINT"NO AIR":GOTO460 1580 L(32)=11:GOTO460 1590 LI=0:GOTO460 1600 IFS<>40THENPRINT"NOTHING HAPPENED":GOTO460 1610 IFL(5)<>2THENPRINT"COMPUTER REPORTS":PRINT"NO FUEL":PRINT 1620 IFL(10)<>2THENPRINT"NO INJECTOR PUMP" 1630 IFL(8)<3ORL(19)<3THENPRINT"TOO HEAVY FOR TAKEOFF":GOTO460 1640 IFL(5)=2 ANDL(10)=2THEN1740 1650 GOTO460 1660 IFLEN(A$)>1THENA$=LEFT$(A$,2) 1670 RETURN 1680 IFS<>17ORL(11)<>0THENPRINT"CAN'T":GOTO460 1690 IFL(16)=21THEN460 1700 M=M+1:PRINT"RUSTLING IS GETTING LOUDER":IFM<3THEN460 1710 PRINT:PRINT:PRINT:PRINT"A MARTIAN JUST WALKED INTO THE ROOM!!!" 1720 L(16)=L:GOTO460 1730 O$(7)="NET FULL OF MARTIAN":M=5:L(16)=21:L(15)=L:GOTO460 1740 FORX=1TO40:PRINTTAB(X)"WHWHOOOSHSHSH":NEXT 1750 PRINT"CONGRATULATIONS ON A SUCCESSFUL MISSION"