home *** CD-ROM | disk | FTP | other *** search
- 10 rem anthony wood
- 20 rem 12739 grand cross ln.
- 30 rem houston, tx 77072
- 100 rem 6/18/84
- 110 printchr$(142);"[147] [213][195][195][213][195][201][213][195][201][213][195][201][176][192] [178] [178][176] [174][213][201][178][176][178][174]"
- 120 print" [202][195][201][171][195][203][171][195][179][194] [171][195] [171][195][179][194] [194][194][194][194] [194] "
- 130 print" [195][195][203][177] [177] [177][202][195][203][173][195] [177] [177][202][195][203][177][202][189] [177] "
- 140 print" (c) copyright 1984"
- 150 print" anthony wood"
- 160 dimd$(13),n(13),s(13),e(13),w(13),i(13,10),in(10),n$(20),t(12):nc=0
- 170 er$="[201] don't see one here!":un$="[201] don't understand."
- 180 cg$="[201] can't get that!"
- 190 forx=0to13:readd$(x),n(x),s(x),e(x),w(x),k:ifk=0then 210
- 200 fory=0tok-1:reada$:gosub 2240:i(x,y)=nc:next
- 210 next
- 220 l=0:i(9,0)=7
- 230 print"press return to start.";
- 240 geta$:ifa$<>chr$(13)then 240
- 250 print"[147]";chr$(14);
- 260 print"[147][201] am ";d$(l):print
- 270 ifn(l)+s(l)+e(l)+w(l)=-4then 340
- 280 print"exits: ";
- 290 ifn(l)<>-1thenprint"north. ";
- 300 ifs(l)<>-1thenprint"south. ";
- 310 ife(l)<>-1thenprint"east. ";
- 320 ifw(l)<>-1thenprint"west.";
- 330 print
- 340 s=0:forx=0to10:s=s+i(l,x):next:ifs=0then 380
- 350 print:print"[201] can see:"
- 360 forx=0to10:ifi(l,x)<>.thenprintn$(i(l,x));". ";
- 370 next:print
- 380 print"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
- 390 print"[215]hat now? ";:gosub 2020
- 400 ifi$=""then 390
- 410 ifi$="[147]"then 260
- 420 ifv$<>"i"andleft$(v$,3)<>"inv"then 460
- 430 s=0:forx=0to10:s=s+in(x):next:ifs=0thenprint"[201]'m not carrying anything.":goto 390
- 440 forx=0to10:ifin(x)=0thennext:goto 390
- 450 printn$(in(x)):next:goto 390
- 460 ifv$="n"ori$="north"thenex=n(l):goto 510
- 470 ifv$="s"ori$="south"thenex=s(l):goto 510
- 480 ifv$="e"ori$="east"thenex=e(l):goto 510
- 490 ifv$<>"w"andi$<>"west"then 530
- 500 ex=w(l)
- 510 ifex=-1thenprint"[201] can't go that way!":goto 390
- 520 l=ex:ld=0:goto 260
- 530 l$=left$(n$,3):ifl$="tra"thenl$="pil":goto 650
- 540 ifl$="loc"thenl$="equ":goto 650
- 550 ifl$="tru"thenl$="woo":goto 650
- 560 ifl$="sui"thenl$="pre":goto 650
- 570 ifl$="shi"thenl$="spa":goto 650
- 580 ifl$="but"thenl$="red":goto 650
- 590 ifl$="equ"thenl$="lot":goto 650
- 600 ifl$="boa"thenl$="con":goto 650
- 610 ifl$="tre"thenl$="fab":goto 650
- 620 ifl$="bou"thenl$="lar":goto 650
- 630 ifl$="sta"thenl$="air":goto 650
- 640 ifl$="doo"and(l=9orl=7)thenl$="spa"
- 650 v$=left$(v$,3):ifl$="321"orl$="dow"thennn=99:goto 710
- 660 ifv$="lay"orv$="lie"orv$="sav"orv$="loa"then 710
- 670 ifv$="loo"then 260
- 680 ifv$="qui"thenprint"[147]type 'goto 250' to recover.":end
- 690 fornn=1tonc:ifl$=left$(n$(nn),3)then 710
- 700 next:printun$:goto 390
- 710 ifv$<>"exa"andv$<>"sea"then 910
- 720 gosub 2190:iff=0thenprint"[201] don't see a ";n$;" here!":goto 390
- 730 ifl$="equ"thenprint"[201]t's a metal storage locker.":goto 390
- 740 ifl$="lar"thenprint"[212]here seems to be something under here.":goto 390
- 750 ifl$="con"thenprint"[201] see a calculator type keyboard here.":goto 390
- 760 ifl$<>"pre"then 800
- 770 ifcc=1then 900
- 780 cc=1:print"[201] found a screw driver here!":a$="screw driver":gosub 2240
- 790 gosub 2270:goto 390
- 800 ifl$="spa"thenprint"[201] can see a door.":goto 390
- 810 ifl$<>"woo"then 840
- 820 print"[201]t's a wooden trunk.":iflk=0thenprint"[201]t's locked."
- 830 goto 390
- 840 ifl$<>"pil"then 860
- 850 ifkf=0thenprint"[201] find a key here!":a$="key":gosub 2240:gosub 2270:kf=1:goto 390
- 860 ifl$<>"lot"then 900
- 870 ifpp=1then 900
- 880 print"[212]here is an access pannel screwed down here.":a$="pannel":gosub 2240
- 890 gosub 2270:pp=1:goto 390
- 900 print"[201] see nothing special.":goto 390
- 910 ifv$<>"ope"then 1040
- 920 gosub 2190:iff=0thenprinter$:goto 390
- 930 ifl$<>"equ"then 990
- 940 ifws<>0then 970
- 950 print"[193][199][199][200][200]!! [201]'m electrocuted by 10,000":print"volts that was wired to the locker."
- 960 end
- 970 ifnt=1thenprint"[201]t's empty":goto 390
- 980 nt=1:print"[201] find a note here!":a$="note":gosub 2240:gosub 2270:goto 390
- 990 ifl$<>"woo"thenprintun$:goto 390
- 1000 iflk=0thenprint"[201]t's locked!":goto 390
- 1010 ifte=1thenprint"[201]t's empty.":goto 390
- 1020 te=1:print"[201] found a pressure suit in here!":a$="pressure suit":gosub 2240
- 1030 gosub 2270:goto 390
- 1040 ifv$<>"unl"then 1090
- 1050 gosub 2190:iff=0thenprinter$:goto 390
- 1060 ifl$<>"woo"thenprintun$:goto 390
- 1070 a$="key":gosub 2430:gosub 2190:iff=0thenprint"[201] need a key.":goto 390
- 1080 lk=1:print"ok":goto 390
- 1090 ifv$<>"wea"then 1140
- 1100 gosub 2190:iff=0thenprinter$:goto 390
- 1110 ifl$<>"pre"thenprintun$:goto 390
- 1120 iff=1thengosub 2310:gosub 2350
- 1130 print"ok":ws=1:goto 390
- 1140 ifv$<>"rea"then 1180
- 1150 gosub 2190:iff=0thenprinter$:goto 390
- 1160 ifl$<>"not"thenprintun$:goto 390
- 1170 print"[201]t says '3212'":goto 390
- 1180 ifv$<>"pre"andv$<>"pus"then 1240
- 1190 gosub 2190:iff=0thenprinter$:goto 390
- 1200 ifl$<>"red"thenprintun$:goto 390
- 1210 ifws=0thenprint"[193][199][199][200][200]!!! [212]he airlock cycles out. [201]'m dead!":end
- 1220 ifw(l)=0thenw(l)=-1:e(l)=7:goto 260
- 1230 w(l)=0:e(l)=-1:goto 260
- 1240 ifv$<>"go"andv$<>"ent"then 1300
- 1245 ifl$="321"then 1430
- 1250 gosub 2190:iff=0thenprinter$:goto 390
- 1260 ifl$="air"thenl=4:goto 260
- 1270 ifl$="spa"thenl=6:goto 260
- 1280 ifl$="tun"thenl=12:goto 260
- 1290 printun$:goto 390
- 1300 ifv$<>"get"andv$<>"tak"andv$<>"pic"then 1370
- 1310 gosub 2190:iff=0thenprinter$:goto 390
- 1320 iff=2thenprint"[201]'m already carrying it!":goto 390
- 1330 ifl$="equ"orl$="pil"orl$="lot"orl$="tun"orl$="con"thenprintcg$:goto 390
- 1340 ifl$="spa"orl$="lar"orl$="air"thenprintcg$:goto 390
- 1350 ifl$="fab"thenprint"** [195]ongratulations ** [217]ou have found the treasure!":end
- 1360 gosub 2350:gosub 2310:print"ok":goto 390
- 1370 ifv$<>"dro"andv$<>"put"then 1420
- 1380 gosub 2190:iff<>2thenprinter$:goto 390
- 1390 ifl$="pre"andl>6thenprint"[193][213][199][199][200][200]!! [201]'m spaced!":end
- 1400 ifl$="pre"thenws=0
- 1410 gosub 2390:gosub 2270:print"ok":goto 390
- 1420 ifv$<>"typ"then 1470
- 1430 ifl<>6thenprint"[201] can't do that here!":goto 390
- 1440 ifl$<>"321"thenprint"[206]othing happens.":goto 390
- 1450 ifs(l)=9thenprint"[206]othing happens.":goto 390
- 1460 s(l)=9:print"[212]he ship takes off, and we soon land elsewhere.":goto 390
- 1470 ifv$<>"uns"then 1540
- 1480 ifl<>5thenprint"[201] can't do that here!":goto 390
- 1490 a$="screw driver":gosub 2430:gosub 2190:iff<>0then 1510
- 1500 print"[201] need a screw driver!":goto 390
- 1510 ifpa=1thenprint"[201]t's already unscrewed.":goto 390
- 1520 pa=1:print"ok":print"[201] found a blaster here!":a$="blaster":gosub 2240
- 1530 gosub 2270:goto 390
- 1540 ifv$<>"bla"andv$<>"sho"then 1610
- 1550 gosub 2190:iff=0thenprinter$:goto 390
- 1555 z=nn:a$="blaster":gosub2430:gosub2190:iff=0thenprint"[201] need a ";a$:goto 390
- 1560 ifl$="bla"thenprint"at what?":goto 390
- 1570 ifl$<>"lar"thenprint"[201] can't shoot that!":goto 390
- 1580 ifld=0thenprint"[193][199][199][200][200]! [211]tanding up like this, i'm hit hit by rocks!":end
- 1590 print"[203][193][193][194][207][207][205]!! [193] tunnel was under the boulder!":nn=z
- 1600 gosub2310:a$="tunnel":gosub 2240:gosub 2270:goto 390
- 1610 ifv$<>"fir"then 1650
- 1620 gosub 2190:iff=0thenprinter$:goto 390
- 1630 ifl$<>"bla"thenprintun$:goto 390
- 1640 print"try shoot ....":goto 390
- 1650 ifv$<>"lay"andv$<>"lie"then 1680
- 1660 ifl$<>"dow"andl$<>""thenprintun$:goto 390
- 1670 print"ok":ld=1:goto 390
- 1680 ifv$<>"sav"then 1780
- 1690 f$=n$+".adv":open15,8,15,"i0":print#15,"s0:"+f$:open2,8,2,f$+",s,w"
- 1700 input#15,e,er$,z,z:ife<>0thenprinter$:close2:close15:goto 390
- 1710 print#2,nc:forx=1tonc:print#2,n$(x):next:forx=0to13:fory=0to10
- 1720 print#2,chr$(i(x,y));:next:next
- 1730 forx=0to10:print#2,chr$(in(x));:next:print#2,chr$(l);chr$(cc);chr$(pp);
- 1740 print#2,chr$(nt);chr$(te);chr$(lk);chr$(ws);chr$(pa);chr$(ld);chr$(kf);
- 1750 ifw(4)=-1thenprint#2,chr$(1);:goto 1770
- 1760 print#2,chr$(0);
- 1770 print#2,chr$(s(6));:close2:close15:print"ok":goto 390
- 1780 ifv$<>"loa"then 1890
- 1790 f$=n$+".adv":open15,8,15,"i0":open2,8,2,f$+",s,r":input#15,e,er$,z,z
- 1800 ife<>0thenprinter$:close2:close15:goto 390
- 1810 input#2,nc:forx=1tonc:input#2,n$(x):next:forx=0to13:fory=0to10
- 1820 get#2,a$:i(x,y)=asc(a$+chr$(0)):next:next:forx=0to10:get#2,a$
- 1830 in(x)=asc(a$+chr$(0)):next:forx=0to11:get#2,a$:t(x)=asc(a$+chr$(0)):next
- 1840 l=t(0)
- 1850 cc=t(1):pp=t(2):nt=t(3):te=t(4):lk=t(5):ws=t(6):pa=t(7):ld=t(8):kf=t(9)
- 1860 s(6)=t(11):ift(10)=0thene(4)=-1:w(4)=0:goto 1880
- 1870 e(4)=7:w(4)=-1
- 1880 close2:close15:goto 260
- 1890 ifv$<>"use"then 1950
- 1900 gosub 2190:iff=0thenprinter$:goto 390
- 1910 ifl$="bla"thenprint"[212]ry shoot ...":goto 390
- 1920 ifl$<>"key"thenprintun$:goto 390
- 1930 a$="wooden trunk":gosub 2430:gosub 2190:iff<>0then 1080
- 1940 print"[201] can't do that here!":goto 390
- 1950 ifv$<>"mov"andv$<>"rol"thenprintun$:goto 390
- 1960 gosub 2190:iff=0thenprinter$:goto 390
- 1970 ifl$<>"lar"thenprint"[201]'m not making much progress.":goto 390
- 1980 print"[201]t's too heavy.":goto 390
- 1990 rem
- 2000 rem input routine
- 2010 rem
- 2020 i$=""
- 2030 print"[168]";
- 2040 geta$:ifa$=""then 2040
- 2050 ifa$="[147]"theni$=a$:return
- 2060 print"[157] [157]";a$;:ifa$=chr$(13)then 2090
- 2070 ifa$=chr$(20)andi$<>""theni$=left$(i$,len(i$)-1):goto 2030
- 2080 i$=i$+a$::goto 2030
- 2090 ifi$=""thenreturn
- 2100 fors=1tolen(i$):ifmid$(i$,s,1)<>" "thennext:v$=i$:n$="":return
- 2110 v$=left$(i$,s-1):n$=right$(i$,len(i$)-s)
- 2120 return
- 2130 rem
- 2140 rem search for nn
- 2150 rem f=0 if not found
- 2160 rem f=1 if in room
- 2170 rem f=2 if in inventory
- 2180 rem
- 2190 forx=0to10:ifi(l,x)=nnthenf=1:return
- 2200 ifin(x)=nnthenf=2:return
- 2210 next:f=0:return
- 2220 rem
- 2230 rem add a$ to noun list. nn=pos
- 2240 nc=nc+1:n$(nc)=a$:nn=nc:return
- 2250 rem
- 2260 rem add nn to room
- 2270 forx=0to10:ifi(l,x)=0theni(l,x)=nn:return
- 2280 next:print"error!":return
- 2290 rem
- 2300 rem delete nn from room
- 2310 forx=0to10:ifi(l,x)=nntheni(l,x)=0:return
- 2320 next:print"error!":return
- 2330 rem
- 2340 rem add nn to inventory
- 2350 forx=0to10:ifin(x)=0thenin(x)=nn:return
- 2360 next:print"error!":return
- 2370 rem
- 2380 rem delete nn from inve
- 2390 forx=0to10:ifin(x)=nnthenin(x)=0:return
- 2400 next:print"error!":return
- 2410 rem
- 2420 rem set nn to no. for a$
- 2430 fornn=1tonc:ifn$(nn)=a$thenreturn
- 2440 next:nn=99:return
- 2450 data "in the entrance chamber of a lunarspace station.",-1,1,4,-1,1
- 2460 data "equipment locker"
- 2470 data "in a narrow hallway that runsnorth-south.",0,3,2,-1,0
- 2480 data "in a long deserted bunk room.",-1,-1,-1,1,1,"wooden trunk"
- 2490 data "in a rectangular room that smellsmusty and old.",1,-1,-1,-1,1
- 2500 data "pile of trash"
- 2510 data "in a space station airlock.",-1,-1,-1,0,1,"red button"
- 2520 data "in a space ship's engine room.",-1,-1,6,-1,1
- 2530 data"lots of complicated equipment"
- 2540 data "in a space ship control room.",-1,7,-1,5,1,"control board"
- 2550 data "on an open lunar plain.",-1,-1,-1,-1,2,"space ship"
- 2560 data "airlock to space station"
- 2570 data "in an asteroid crater.",-1,9,-1,11,0
- 2580 data "on an asteroid plain.",8,-1,-1,10,0
- 2590 data "on an asteroid plain.",11,-1,9,-1,1,"large boulder"
- 2600 data "in the hills on an asteroid.",-1,10,8,-1,0
- 2610 data "in a sloping tunnel.",10,13,-1,-1,0
- 2620 data "in the underground treasure room.",-1,-1,-1,-1,1
- 2630 data "fabulous treasure"
-