Dog Star Adventure

Started by Blacklord, August 13, 2007, 10:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Blacklord

This was originally a Commodore game & was ported - anyone feel like porting it back ?

2 width 80
3 REM   DOGSTAR.BAS      Dog Star Adventure by Lance Micklus
5 REM   Modified by Gern for Zenith Z-100   05/30/83 & 12/30/84
7 REM   From SoftSide MAY 1979 (A TRS-80 Software Magazine)
10 KEY OFF:ON ERROR GOTO 50:GOTO 100
50 PRINT:PRINT"ERROR!!!":RESUME 2125
100 CLS:PRINT:PRINT:PRINT:PRINT
110 PRINT "DOG STAR"
120 PRINT "by Lance Micklus,"
130 PRINT "Winooski, Vt. 05404":PRINT:PRINT
140 PRINT "Copyright 1979"
190 RANDOMIZE VAL(RIGHT$(TIME$,2)):DEFINT A-Z
200 GOSUB 30300
450 LC=2:SL=64:BL=4:GF=50:RV=16396
600 GOTO 10300
2125 IF TC<25 OR INT(RND(1)*GF+1)<>1 THEN 2425
2150 IF TC=300 THEN GF=20
2175 IF LC<3 OR LC=9 OR LC=26 OR LC=36 OR LC=37 THEN 2425
2200 IF LC>26 AND LC<31 THEN 2425
2225 PRINT "Holy smokes. An armed guard just walked in."
2250 GOSUB 20350:IF VB<>12 OR NO<>15 THEN 5575
2275 X=13:GOSUB 21450:IF Y<>-1 THEN 5575
2300 IF BL=0 THEN CLS:PRINT "I'm out of ammunition.":PRINT:GOTO 5600
2325 PRINT "zzZAP! No more guard."
2350 BL=BL-1:IF BL=0 THEN PRINT "I'm out of ammunition."
2425 IF MD<>TC THEN 2550
2450 X=22:GOSUB 21450:IF Y<>-1 THEN 2550
2475 PRINT "Your McDonald's Hamburger is cold."
2550 GOSUB 20350:TC=TC+1
2575 IF VB=0 AND NO=0 THEN 2650 ELSE 2800
2650 PRINT "I don't know how to do that.":GOTO 2125
2725 PRINT "Nothing happened.":GOTO 2125
2800 IF VB>1 OR NO>7 THEN 3175
2825 IF NO=0 THEN 2650
2850 IF DS(LC,NO-1)=0 THEN PRINT "I can't go that way!":GOTO 2125
2875 IF DR AND DS(LC,NO-1)>2 AND DS(LC,NO-1)<6 THEN PRINT "I can't go that way.  Flight deck doors are open.":PRINT "NO AIR!!!":GOTO 2125
2900 IF NO=3 AND LC=31 AND NOT DJ THEN PRINT M0$:GOTO 2125
2925 IF LC=35 AND DS(LC,NO-1)=36 AND OB(21,1)<>0 THEN PRINT "The robot won't let me through.":GOTO 2125
2950 IF LC=17 AND OB(13,1)=17 THEN 5575
2975 IF LC=9 AND OB(5,1)=9 THEN 5575
3000 IF LC=9 OR LC=17 THEN HE$(LC)=""
3025 LC=DS(LC,NO-1)
3050 IF LC=34 THEN HE$(LC)=""
3075 IF LC=26 THEN 11800
3100 GOTO 10300
3175 IF VB=3 THEN 10300
3250 IF VB<>2 THEN 3700
3275 IF NO=0 THEN PRINT "I don't know what a ";CHR$(34);NO$(0);CHR$(34);" is.":GOTO 2125
3300 IF CR>5 THEN PRINT "I can't carry any more.":PRINT "HINT: Drop something.":GOTO 2125
3325 FOR I=1 TO LO:IF OB(I,0)=NO THEN 3350 ELSE NEXT I:GOTO 2650
3350 IF OB(I,1)=-1 THEN PRINT "I'm already carrying it.":GOTO 2125
3375 IF OB(I,1)<>LC THEN PRINT "I don't see it.":GOTO 2125
3400 IF NO<>37 THEN 3475
3425 X=13:GOSUB 21450:IF Y<>-1 THEN PRINT "I don't have a blaster to put it in.":GOTO 2125
3450 BL=4:OB(I,1)=0:PRINT "My BLASTER's reloaded.":FOR I=1 TO 1:NEXT I:GOTO 2125
3475 IF NO=15 OR NO=25 OR NO=34 THEN PRINT "He looks pretty mean to me.":GOTO 2125
3500 CR=CR+1:OB(I,1)=-1:PRINT "O.K.":FOR I=1 TO 1:NEXT I
3525 IF NO=14 AND NOT CM THEN PRINT "A voice says: ";CHR$(34);"SESAME";CHR$(34);".":CM=-1
3550 IF NO=22 AND MD=0 THEN MD=TC+50
3575 IF NO=12 THEN HE$(2)=""
3600 IF NO=13 THEN HE$(7)=""
3625 GOTO 2125
3700 IF VB<>4 THEN 3875
3725 PRINT "I'm carrying:"
3750 K=0:FOR I=1 TO LO:IF OB(I,1)=-1 THEN PRINT OB$(I):K=1
3775 NEXT I:IF K=0 THEN PRINT "NOTHING"
3800 PRINT:GOTO 2125
3875 IF VB<>5 THEN 3950 ELSE GOSUB 21050:GOTO 2125
3950 IF VB<>6 THEN 4200
3975 IF NO=0 THEN 3275
4000 IF LC=2 THEN PRINT "There's no room here.":GOTO 2125
4025 IC=0:FOR I=1 TO LO:IF OB(I,1)=LC THEN IC=IC+1
4050 NEXT I:IF IC>12 THEN PRINT "There not enough room. Get rid of something.":GOTO 2125
4075 FOR I=0 TO LO:IF OB(I,0)=NO THEN 4100 ELSE NEXT I:GOTO 2650
4100 IF OB(I,1)<>-1 THEN PRINT "I'm not carrying it.":GOTO 2125
4125 CR=CR-1:OB(I,1)=LC:PRINT "O.K.":FOR I=1 TO 1:NEXT I:GOTO 2125
4200 IF VB<>7 THEN 4300
4225 IF HE$(LC)="" THEN PRINT "How am I supposed to know what to do?":GOTO 2125 ELSE PRINT HE$(LC):GOTO 2125
4300 IF VB<>8 THEN 4750
4375 IF NOT BT THEN 4475 ELSE PRINT "Press (ENTER) when ready to : RECORD :"
4400 GOSUB 22000:GOTO 4525
4475 IF NO$(0)="" THEN NO$(0)="DOGSTAR.DAT"
4500 OPEN"O",1,NO$(0)
4525 FOR I=0 TO LO
4550 PRINT #1,OB(I,0);OB(I,1);OB(I,2)
4575 NEXT I
4625 PRINT #1,TB;TC;CM;DR;BL;MD;GF;DJ;CR;LC
4650 CLOSE
4675 PRINT "O.K.":GOTO 2125
4750 IF VB<>9 THEN 5150
4825 GOTO 4925
4850 GOSUB 22000:GOTO 4975
4925 IF NO$(0)="" THEN NO$(0)="DOGSTAR.DAT"
4950 OPEN"I",1,NO$(0)
4975 FOR I=0 TO LO
5000 INPUT #1,OB(I,0),OB(I,1),OB(I,2)
5025 NEXT I
5075 INPUT #1,TB,TC,CM,DR,BL,MD,GF,DJ,CR,LC
5100 CLOSE
5125 GOTO 10300
5150 IF VB<>10 THEN 5225 ELSE CLS:J=0:GOTO 11200
5225 IF VB<>11 THEN 5725
5250 IF NO<>10 THEN 2650
5275 IF LC<>2 AND LC<>11 THEN PRINT "What button,":GOTO 2125
5300 IF LC=11 AND NOT TB THEN TB=-1:PRINT N2$:GOTO 2125
5325 IF LC=11 AND TB THEN TB=0:PRINT N3$:GOTO 2125
5375 X=12:GOSUB 21450:IF Y<>1 THEN 2725
5425 X=24:GOSUB 21450:IF Y<>1 THEN 2725
5450 IF NOT TB THEN PRINT N3$:GOTO 2725
5475 IF NOT DR THEN PRINT N4$:GOTO 2725
5500 GOTO 11150
5575 CLS:PRINT "H E L P ! ! !":PRINT
5600 PRINT "Roche Soldiers are everywhere. I've been captured."
5625 PRINT "I'm now a prisoner. Woe is me...":PRINT
5650 GOTO 11500
5725 IF VB<>12 OR NO=0 THEN 6025
5750 IF BL=0 THEN PRINT "But I don't have any ammunition left.":GOTO 2125
5775 X=13:GOSUB 21450:IF Y<>-1 THEN PRINT "But I'm not carrying a BLASTER.":GOTO 2125
5800 X=NO:GOSUB 21450:IF Y=-1 THEN PRINT "I can't. I'm holding it.":GOTO 2125
5825 IF NO=34 THEN PRINT "zzZAP!":BL=BL-1:GOTO 2125
5850 IF Y<>LC THEN PRINT "I don't see it.":GOTO 2125
5875 FOR I=1 TO LO:IF OB(I,0)=NO THEN 5900 ELSE NEXT I:GOTO 2650
5900 OB(I,1)=0:FOR I=1 TO 1:NEXT I:PRINT "zzZAP!!!  The ";NO$(NO);" vaporized."
5925 BL=BL-1:IF BL=0 THEN PRINT "I'm out of ammunition."
5950 GOTO 2125
6025 IF VB<>13 THEN 6275
6050 IF NO=0 THEN PRINT "Say what?":GOTO 2125
6075 X=14:GOSUB 21450
6100 IF Y<>-1 OR NO<>19 THEN PRINT "O.K.   ";NO$(NO):GOTO 2125
6125 IF DR THEN 2725
6150 DR=-1:PRINT "A voice comes over the P.A. system and says:"
6160 PRINT "OPENNING FLIGHT DECK DOORS":PRINT
6175 IF LC>2 AND LC<6 THEN PRINT:PRINT "Yips!!! There's no air!!!  CROAK...":END
6200 GOTO 2125
6275 IF VB<>14 THEN 6750
6300 IF NO<>20 AND NO<>16 AND NO<>11 AND NO<>33 THEN 2650
6325 IF NO=20 THEN 6550
6350 IF NO<>16 THEN 6450
6375 IF OB(6,1)=-1 THEN PRINT "Sorry. I'm not a cartographer.":GOTO 2125
6400 IF OB(6,1)=LC THEN PRINT "Try GET MAP.":GOTO 2125
6425 PRINT "It's not here.":GOTO 2125
6450 X=NO:GOSUB 21450:IF Y<>LC AND Y<>-1 THEN 6425
6475 IF NO=11 THEN PRINT "It says: >> NEEDS TURBO <<"
6500 IF NO=33 THEN PRINT "It says: >> OUT OF  ORDER <<"
6525 GOTO 2125
6550 IF LC<>13 THEN PRINT "I don't see any.":GOTO 2125
6575 PRINT:PRINT "It says on the wall,"
6600 PRINT ">> YOUR MOTHER'S GOT A BIG NOSE <<"
6625 PRINT ">> KILROY MADE IT HERE, TOO <<"
6650 PRINT ">> SAY SECURITY <<"
6675 GOTO 2125
6750 IF VB<>15 THEN 6975
6775 IF NO=0 THEN PRINT "What's a ";NO$(0);"?":GOTO 2125
6800 IF NO<>22 THEN PRINT "Don't be rediculous.":GOTO 2125
6825 X=22:GOSUB 21450:IF Y<>-1 THEN PRINT "I'm not holding it.":GOTO 2125
6850 FOR I=1 TO LO:IF OB(I,0)=22 THEN 6875 ELSE NEXT I:PRINT "I don't know where it is.":GOTO 2125
6875 OB(I,1)=0:PRINT "Chump - Chump.  Hummm, good."
6900 FOR I=1 TO 1:NEXT I:GOTO 2125
6975 IF VB<>16 OR NO<>23 OR LC<>16 THEN 7125
7000 X=23:GOSUB 21450:IF Y<>-1 THEN PRINT M1$:GOTO 2125
7025 OB(11,1)=0:OB(14,1)=16:CR=CR-1:PRINT M2$
7050 GOTO 2125
7125 IF VB<>18 OR NO<>36 THEN 7275
7150 IF NO<>36 OR LC<>31 THEN 2650
7175 X=17:GOSUB 21450:IF Y<>-1 THEN PRINT M3$:GOTO 2125
7200 HE$(31)="":DJ=-1:PRINT M4$:GOTO 2125
7275 IF VB<>19 OR NO=0 THEN 7600
7325 IF LC<>35 AND NO=34 THEN PRINT M5$:GOTO 2125
7350 X=22:GOSUB 21450:IF Y<>-1 THEN PRINT M6$:GOTO 2125
7375 X=35:GOSUB 21450:IF Y=1 OR Y=LC AND NO=35 THEN PRINT"I don't see her.":GOTO 2125 ELSE IF NO=35 THEN PRINT M7$:K=I:FOR I=1 TO LO:IF OB(I,0)=22 THEN 7525 ELSE NEXT I:GOTO 2650
7400 IF NO<>34 THEN PRINT NO$(0);M8$:GOTO 2125
7425 IF TC>MD THEN PRINT M9$:GOTO 2125
7450 FOR I=1 TO LO:IF OB(I,0)=34 THEN 7475 ELSE NEXT I:GOTO 2650
7475 K=I:FOR I=1 TO LO:IF OB(I,0)=22 THEN 7500 ELSE NEXT I:GOTO 2650
7500 PRINT N0$:HE$(35)=""
7525 OB(K,1)=0:OB(I,1)=0:FOR I=1 TO 1:NEXT I:GOTO 2125
7600 IF VB<>17 THEN 7700
7625 PRINT NO$(0):GOTO 2125
7700 IF VB<>20 THEN 7975
7725 IF NO=0 THEN 2650
7750 X=NO:GOSUB 21450:IF Y=-1 THEN PRINT "I'm carrying it. That's impossible.":GOTO 2125
7775 IF Y=LC THEN 7850
7800 IF NO<11 OR NO=19 OR NO=20 OR NO=30 THEN 2650
7825 PRINT "I can't hit something I can't see.":GOTO 2125
7850 IF NO=15 OR NO=25 OR NO=34 THEN PRINT "I'd rather not. He might hit me back!":GOTO 2125
7875 IF NO=35 THEN PRINT "That's not nice!":GOTO 2125
7900 GOTO 2725
7975 IF VB<>21 THEN 8000 ELSE PRINT "I'm not strong enough to kill anything.":GOTO 2125
8000 GOTO 2650
10300 CLS:PRINT DS$(LC):A$=""
10305 IF LC=35 THEN GF=10
10400 IF LC=7 THEN 10700
10450 K=0:FOR I=1 TO LO:IF OB(I,1)<>LC THEN 10600
10500 IF K=0 THEN K=1:PRINT:PRINT "Around me I see:":A$=OB$(I):GOTO 10600
10550 IF LEN(A$)+5+LEN(OB$(I))>SL THEN PRINT A$:A$=OB$(I):ELSE A$=A$+"     "+OB$(I)
10600 NEXT I
10650 IF A$<>"" THEN PRINT A$
10700 PRINT:PRINT "Obvious directions are ";:K=0
10750 FOR I=0 TO 5:IF DS(LC,I)=0 THEN 10900
10800 IF K<>0 THEN PRINT ", ";
10850 PRINT NO$(I+1);:K=1
10900 NEXT I
10950 IF K=0 THEN PRINT "unknown";
11000 PRINT ".":GOTO 2125
11150 CLS:GOSUB 21050
11200 IF J=0 THEN PRINT "We have FAILED our mission. The forces of Princess Leya will be conquered."
11250 IF J=SC THEN PRINT:PRINT "We are HEROS. The forces of Princess Leya will conquer the evil Roche soldiers, and freedom will prevail throughout the galaxy."
11300 IF J>0 AND J11500 PRINT
11550 INPUT "Do you want to play again (Y or N)";A$:A$=LEFT$(A$,1)
11600 IF A$="Y" OR A$="y" THEN RUN ELSE END
11800 CLS:PRINT"A voice booms out, ";CHR$(34);"WHO GOES THERE";CHR$(34)
11850 GOSUB 20350
11900 IF VB<>13 OR NO<>30 THEN 5575
11950 PRINT N1$
12000 GOSUB 20350
12050 X=31:GOSUB 21450:IF Y<>-1 THEN 5575
12100 IF VB<>17 OR NO<>31 THEN 5575 ELSE 10300
20350 PRINT: LINE INPUT "What should I do? ";I$:PRINT:CM$=""
20360 FOR IL=1 TO LEN(I$):IN=ASC(MID$(I$,IL,1)):IF IN>96 AND IN<123 THEN IN=IN AND 223
20365 CM$=CM$+CHR$(IN):NEXT IL
20370 IF CM$="N" THEN CM$="NORTH" ELSE IF CM$="S" THEN CM$="SOUTH" ELSE IF CM$="E" THEN CM$="EAST"
20375 IF CM$="W" THEN CM$="WEST" ELSE IF CM$="U" THEN CM$="UP" ELSE IF CM$="D" THEN CM$="DOWN"
20380 IF CM$="L" THEN CM$="LOOK" ELSE IF CM$="I" THEN CM$="INVENTORY" ELSE IF CM$="H" THEN CM$="HELP"
20395 VB$(0)="":NO$(0)="":VB=0:NO=0:IF LEN(CM$)=0 THEN 20350
20400 FOR ZL=1 TO LEN(CM$):IF MID$(CM$,ZL,1)<>" " THEN VB$(0)=VB$(0)+MID$(CM$,ZL,1):NEXT ZL
20500 FOR ZL=1 TO LV:IF VB$(ZL)<>"" AND LEFT$(VB$(0),LEN(VB$(ZL)))=VB$(ZL) THEN VB=ZL:GOTO 20600 ELSE NEXT ZL
20550 VB=0:NO$(0)=VB$(0):GOTO 20650
20600 IF LEN(VB$(0))+1>=LEN(CM$) THEN NO=0:RETURN ELSE NO$(0)=RIGHT$(CM$,LEN(CM$)-1-LEN(VB$(0)))
20650 FOR ZL=1 TO LN:IF NO$(ZL)<>"" AND LEFT$(NO$(0),LEN(NO$(ZL)))=NO$(ZL) THEN NO=ZL:GOTO 20800 ELSE NEXT ZL
20700 NO=0:RETURN
20800 FOR ZL=1 TO 1:NEXT ZL:RETURN
21050 J=0:FOR I=1 TO LO:IF OB(I,1)=1 THEN J=J+OB(I,2)
21100 NEXT I:PRINT "Out of a maximum of";SC;"points, you have";J;"points."
21150 IF J=0 THEN PRINT "We're not doing too good."
21200 RETURN
21450 FOR ZL=0 TO LO:IF OB(ZL,0)=X THEN Y=OB(ZL,1):GOTO 21500 ELSE NEXT ZL:Y=-99:RETURN
21500 FOR ZL=1 TO 1:NEXT ZL:RETURN
22000 A$=INKEY$
22010 IF INKEY$="" THEN 22010 ELSE RETURN
30300 SC=215
30600 LV=21:DIM VB$(LV)
30650 VB$(1)="GO":VB$(2)="GET":VB$(3)="LOOK"
30700 VB$(4)="INVEN":VB$(5)="SCORE":VB$(6)="DROP"
30750 VB$(7)="HELP":VB$(8)="SAVE":VB$(9)="LOAD":VB$(10)="QUIT"
30800 VB$(11)="PRESS":VB$(12)="SHOOT":VB$(13)="SAY"
30850 VB$(14)="READ":VB$(15)="EAT":VB$(16)="CSAVE"
30900 VB$(17)="SHOW":VB$(18)="OPEN":VB$(19)="FEED"
30950 VB$(20)="HIT":VB$(21)="KILL"
31100 LN=37:DIM NO$(LN)
31150 NO$(1)="NORTH":NO$(2)="EAST":NO$(3)="SOUTH"
31200 NO$(4)="WEST":NO$(5)="UP":NO$(6)="DOWN"
31250 NO$(10)="BUTTON":NO$(11)="TAG":NO$(12)="FUEL"
31300 NO$(13)="BLASTER":NO$(14)="COMMUNICATOR":NO$(15)="GUARD"
31350 NO$(16)="MAP":NO$(17)="KEYS":NO$(18)="NECKLACE"
31400 NO$(19)="SESAME":NO$(20)="GRAFFITI"
31450 NO$(21)="CAPE":NO$(22)="HAMBURGER"
31500 NO$(23)="TAPE":NO$(24)="TURBO"
31550 NO$(25)="SCIENTIST":NO$(26)="PLANS"
31600 NO$(27)="SCHEMATIC":NO$(28)="DEVICE":NO$(29)="GUN"
31650 NO$(30)="SECURITY":NO$(31)="I.D.":NO$(32)="CRYSTALS"
31700 NO$(33)="SIGN":NO$(34)="ROBOT":NO$(35)="PRINCESS"
31750 NO$(36)="DOOR":NO$(37)="AMMUNITION"
31900 CL=37:DIM DS$(CL)
31950 DS$(1)="I'm in the passenger & storage compartment of my space ship. There's an exit here to leave the ship."
32000 DATA 2,0,0,0,0,3
32050 DS$(2)="I'm in the cockpit of my space ship. A large red button says >> PRESS TO BLAST OFF <<"
32100 DATA 0,0,1,0,0,0
32150 DS$(3)="I'm standing next to my space ship which is located on a huge flight deck."
32200 DATA 18,0,4,0,1,0
32250 DS$(4)="I'm out on the flight deck of General Doom's Battle Cruiser."
32300 DATA 3,5,4,4,0,0
32350 DS$(5)=DS$(4):DATA 4,6,5,4,0,0
32400 DS$(6)="I'm in a hallway. There are doors on all sides. The door to the north says: >> CLOSED FOR THE DAY <<"
32450 DATA 7,0,8,5,0,0
32500 DS$(7)="I'm in the SUPPLY DEPOT. around me I see: all kinds of things"
32550 DATA 0,0,6,0,0,0
32600 DS$(8)="I'm at the end of one of the hallways. I can here voices nearby. Sounds like guards."
32650 DATA 6,10,0,9,0,12
32700 DS$(9)="I'm in the STRATEGY PLANNING room.":DATA 11,8,0,0,0,0
32750 DS$(10)="I'm in the DECONTAMINATION area.":DATA 0,14,0,8,0,0
32800 DS$(11)="This area is the tractor beam control room. A large sign warns:  >> DO NOT PRESS ANY BUTTONS <<"
32850 DATA 0,0,9,0,0,0
32900 DS$(12)="I'm in another hallway. To the EAST is a restroom."
32950 DATA 15,13,0,0,8,0
33000 DS$(13)="This is what is commonly called on earth, the BATHROOM. There's graffiti written all over the wall. Pipes lead up through the ceiling."
33050 DATA 15,0,0,12,27,0
33100 DS$(14)="This appears to be an interrogation room.":DATA 0,0,0,10,0,0
33150 DS$(15)="I'm in a LOUNGE.":DATA 0,0,13,12,0,0
33200 DS$(16)="This is a computer room. There's a TRS-80 in here. On the screen it says:  >> CSAVE TAPE <<":DATA 17,0,18,0,0,0
33250 DS$(17)="I'm in a testing labortory.":DATA 0,0,16,0,0,0
33300 DS$(18)="I'm in a hallway. A large arrow points EAST and says: >> TO THE VAULT <<"
33350 DATA 16,25,3,19,0,0
33400 DS$(19)="This is the entrance to the DEVELOPMENT LAB SECTION":DATA 20,18,21,20,22,0
33450 DS$(20)="I'm in a long corridor. There are labortories all around me.":DATA 19,23,21,20,22,24
33500 DS$(21)="I'm in a research lab.":DATA 20,0,0,0,0,0
33550 DS$(22)="I'm lost!":DATA 22,22,22,22,22,20
33600 DS$(23)=DS$(21):DATA 0,0,0,20,0,0
33650 DS$(24)=DS$(21):DATA 0,0,0,0,20,0
33700 DS$(25)="I'm near the entrance to the vault. A sign here says: >> AUTHORIZED PERSONEL ONLY <<"
33750 DATA 0,26,0,18,0,0
33800 DS$(26)="I'm in the vault.":DATA 0,0,0,25,0,0
33850 DS$(27)="I'm in a pipe tunnel which leads in every direction.":DATA 28,27,27,27,27,13
33900 DS$(28)=DS$(27):DATA 29,29,29,29,30,29
33950 DS$(29)="I'm lost in a maze of pipes.":DATA 28,29,29,29,29,27
34000 DS$(30)="I'm in the pipe maze. Below me I think I can see the jail."
34050 DATA 29,29,28,29,29,31
34100 DS$(31)="I'm in the jail."
34150 DATA 32,33,34,35,0,0
34200 DS$(32)="I'm in a jail cell.":DATA 0,0,31,0,0,0
34250 DS$(33)=DS$(32):DATA 0,0,0,31,0,0
34300 DS$(34)=DS$(32):DATA 31,0,0,0,0,0
34350 DS$(35)="I'm at the security desk. To the north an elevator.":DATA 36,31,0,0,0,0
34400 DS$(36)="I'm in the elevator.":DATA 0,0,35,0,37,0
34450 DS$(37)=DS$(36):DATA 0,0,14,0,0,36
34850 LO=23:DIM OB$(LO)
34900 OB$(1)="a TAG which says: >> NEEDS TURBO <<":DATA 11,5,0
34950 OB$(2)="Anti-matter FUEL":DATA 12,5,5
35000 OB$(3)="BLASTER":DATA 13,7,0
35050 OB$(4)="COMMUNICATOR":DATA 14,9,0
35100 OB$(5)="A very surprised GUARD":DATA 15,9,0
35150 OB$(6)="MAP of the ship":DATA 16,29,20
35200 OB$(7)="some KEYS":DATA 17,9,0
35250 OB$(8)="a shinestone NECKLACE":DATA 18,10,20
35300 OB$(9)="Princess Leya's CAPE":DATA 21,14,5
35350 OB$(10)="McDonald's HAMBURGER":DATA 22,15,0
35400 OB$(11)="a cassette TAPE":DATA 23,7,0
35450 OB$(12)="a TURBOENCABULATOR":DATA 24,17,5
35500 OB$(13)="an evil looking SCIENTIST":DATA 25,17,0
35550 OB$(14)="secret attack PLANS":DATA 26,0,20
35600 OB$(15)="Death Ray SCHEMATIC":DATA 27,9,20
35650 OB$(16)="Cloaking DEVICE":DATA 28,17,20
35700 OB$(17)="Micro Laser GUN":DATA 29,24,20
35750 OB$(18)="I.D. card":DATA 31,17,0
35800 OB$(19)="Malidium CRYSTALS (the Treasury!)":DATA 32,26,30
35850 OB$(20)="a SIGN which says: >> OUT OF ORDER <<":DATA 33,3,0
35900 OB$(21)="attack ROBOT":DATA 34,35,0
35950 OB$(22)="PRINCESS Leya":DATA 35,34,50
36000 OB$(23)="AMMUNITION":DATA 37,7,0
36150 DIM DS(CL,5):RESTORE
36200 FOR ZL=1 TO CL:FOR ZD=0 TO 5
36250 READ DS(ZL,ZD):NEXT ZD:NEXT ZL
36300 DIM OB(LO,2)
36350 FOR ZL=1 TO LO:READ OB(ZL,0),OB(ZL,1),OB(ZL,2):NEXT ZL
36500 DIM HE$(CL)
36550 HE$(1)="I think we're suppose to leave the stuff here."
36600 HE$(2)="I wonder if we have enough fuel?"
36650 HE$(7)="How 'bout a BLASTER."
36700 HE$(9)="Try SHOOT GUARD."
36750 HE$(13)="It might be intersting to read the graffiti."
36800 HE$(17)="Try SHOOT SCIENTIST."
36850 HE$(22)="I'm as confused as you are.":HE$(29)=HE$(22)
36900 HE$(31)="It might help if we had some keys to OPEN any locked DOOR S."
36950 HE$(35)="Did you bring anything to eat?"
37100 M0$="I can't go there. The door is locked."
37150 M1$="I'm not carrying any blank tape."
37200 M2$="The TRS-80 recorded something on the tape, and then it printed: >> ATTACK PLANS -- VERY SECRET <<"
37250 M3$="I can't. I'm not carrying any keys."
37300 M4$="O.K. The door to the jail cell is unlocked."
37350 M5$="There's no robot here."
37400 M6$="But I don't have any hamburgers."
37450 M7$="Chump...chump   BURP! The princess thanks you for a delicious meal."
37500 M8$=" doesn't eat hamburger."
37550 M9$="Nothing happened. The hamburger is cold you know."
37600 N0$="The attack robot eats the hamburger and disappears."
37650 N1$="I'm at the identification terminal. On the screen it says: >> SHOW I.D. <<"
37700 N2$="The tractor beam is off."
37750 N3$="The tractor beam is on."
37800 N4$="You forgot to open the flight deck doors."
37850 RETURN