start tok64 d64-Z4u7AI 65280 REM{delete}{delete}{delete}{delete}{delete}{delete}{delete}{delete}{delete}OFF 1 POKE808,225:POKE818,116:POKE819,164:POKE774,116:POKE775,164:POKEPEEK(43)+256*PEEK(44)+3,0 8 POKE53280,0:POKE53281,0 10 PRINT"{clear}{142}{light blue}{space*28}{cm @*2} 20 PRINT"{space*7}NM OM {cm g}{cm m} O{cm y}{cm m}M {cm g}{cm y}O {cm g}{cm m*2}{cm @}N O{cm y} 30 PRINT"{space*7}OP LN MN O {cm m} M{cm g} {cm g} L{sh @}{cm m} M O 40 PRINT"{space*16}{cm t*2}{space*13}{cm t*2} 50 PRINT"{space*5}G{cm m}M {cm g}{space*4}NM {cm y}O {cm g}{space*2}NM{cm m}M {cm g}{cm y}O G O{cm y} 60 PRINT"{space*5}G{cm m} M{cm g}{space*4}OP{space*2}{cm g} L{cm p} OP{cm m} M{cm g} {cm g} G {cm y}P 70 PRINT"{space*34}{cm t*2} 80 PRINT,"{down*3}{pink}written for the trs-80 90 PRINT,"{down}{space*9}by 100 PRINT,"{light blue}{down}{space*4}greg hassett 110 PRINT"{down*3}{pink}{space*5}adapted and extensively modified 120 PRINT,"{down}{space*9}by 130 PRINT,"{light blue}{down} steven darnold 131 PRINT," p.o. box 201 132 PRINT," alexandra, new zealand"; 140 FORi=1TO3000:NEXT 160 nw$="there is no writing there.":zz=1:gf$="the minotaur was wearing " 170 m0$="i don't see it here.":m1$="i'm not holding it.":m2$=" won't let me." 180 m3$="don't be ridiculous.":m5$="that's too dangerous." 190 d1$="i don't know what "+CHR$(34):d2$=CHR$(34)+" is.":POKE59468,12 200 do$="please supply a direct object." 210 na$="{clear}{down*4}{right*11}{white}help!{space*2}no air!{light blue}":m7$="that is not possible." 220 sv$="the spear zips through the water!" 230 oh$="the spear plunges into the octopus, and it explodes!" 240 mh$="the spear strikes the minotaur.":GOTO2060 250 GOSUB440 260 GOSUB300:IFno<9ANDno>0ANDvb=0THENvb=1 270 IF(vb-15)*(vb-16)*(vb-5)*(vb-6)*(LEN(n1$)>0)*(no=0)THENPRINTd1$;n1$;d2$:GOTO260 280 IFn1$=""ANDvb>8ANDvb<>22ANDvb<>15ANDvb<>30THENPRINTdo$:GOTO260 290 GOTO620 300 t=t+1:PRINT"{pink}{reverse on}{down}what should i do?{141}{up*2}{cm @*17}{down} ";:GOSUB3100:PRINT 310 IFcm$="{sh space}"THENPRINT"{up*2}":GOTO300 320 vb$="":no$="":vb=0:no=0 330 lc=LEN(cm$):FORi=1TOlc:a$=MID$(cm$,i,1):IFa$<>" "THENvb$=vb$+a$:NEXTi 340 IFLEN(vb$)+1>LEN(cm$)THENno=0:GOTO360 350 no$=RIGHT$(cm$,lc-i) 360 n1$=no$:v1$=vb$:vb$=LEFT$(vb$,3):no$=LEFT$(no$,3) 370 FORi=1TOnv:IFvb$=vb$(i)THENvb=i:GOTO410 380 NEXTi:vb=0 390 IFn1$=""THENno$=vb$ 400 vb=0:GOTO420 410 IFvb$=cm$THENno=0:no$="":RETURN 420 FORi=1TOnn:IFno$=no$(i)THENno=i:RETURN 430 NEXTi:no=0:no$="":RETURN 440 PRINT"{clear}{light blue}":ii=0:IFLEFT$(p$(cp),1)="*"THENp$=RIGHT$(p$(cp),LEN(p$(cp))-1):ii=1 450 IFii=1THEN470 460 p$="i'm in "+p$(cp) 470 IFcp<>1ANDob(31,0)+1THENPRINTna$:GOTO2040 480 PRINTp$".":k=0:FORi=1TOlo:IFob(i,0)<>cpTHEN520 490 IFk=0THENPRINT"{orange}{down*2}{cm a}{sh asterisk*10}visible items{sh asterisk*14}{cm s}"; 500 IF3+POS(0)+LEN(ob$(i))>39THENPRINT 510 PRINTob$(i)".{space*2}";:k=k+1 520 NEXTi:IFk>0THENPRINT 530 IFcp=31THEN610 540 k=0:PRINT"{light green}{down*2}obvious exits are: ";:FORi=0TO3:IFp(cp,i)=0THEN580 550 IF2+POS(0)+LEN(d$(i))>39THENPRINT:PRINTTAB(19);:GOTO570 560 IFk>0THENPRINT", "; 570 PRINTd$(i);:k=k+1 580 NEXTi:PRINT".":IFcp-5THEN610 590 FORi=1TOlo:IFob(i,0)=-1ANDi<>31THENob(i,0)=6 600 NEXTi:IFzz>1THENPRINT"{down}{orange}the whirlpool sucks down my belongings!":zz=1 610 PRINT:i=FRE(0):RETURN 620 IFvb=0THEN650 630 ONvbGOTO660,1960,250,840,2950,1510,1090,2040,1130,1190,1200,1400,1430,1500,1510,1550 640 ONvb-16GOTO890,1560,1610,1720,1750,2880,1810,1860,1910,740,1400,1920,740,2010 650 PRINT"i don't know how to ";CHR$(34);v1$;CHR$(34);" something":GOTO260 660 IFno=0THENPRINT"i need a direction.":GOTO260 670 IFno>8THEN1810 680 IFno>4THENno=no-4 690 no=no-1:IFp(cp,no)=0THENPRINT"there is no way to go in that direction.":GOTO260 700 IFcp=30ANDgf=0THENPRINT"the door is locked.":GOTO260 710 IFcp=25ANDno=0ANDgf=0THENPRINT"a locked door bars the way.":GOTO260 720 IFcp=ob(16,0)ANDno-3THENPRINT"the manta won't let me.":GOTO260 730 cp=p(cp,no):GOTO250 740 IFcp<>ob(no,0)THENPRINTm0$:GOTO260 750 IFno=16ORno=18ORno=22ORno=36ORno=42THENPRINTm5$:GOTO260 760 IFno=27ORno=17ORno=29ORno=14ORno=43THENPRINT"it's too heavy.":GOTO260 770 IFob(18,0)=cpTHENPRINT"squid";m2$:GOTO260 780 IFob(36,0)=cpANDno=35THENPRINT"octopus";m2$:GOTO260 790 IFno=44ANDob(42,0)=cpTHENPRINT"minotaur";m2$:GOTO260 800 IFno=32THENPRINT"try 'use train'":GOTO260 810 IFzz>4THENPRINT"i'm carrying too much.":GOTO260 820 IFno=41ANDaa=1THENPRINT"it is firmly attached to the tree.":GOTO260 830 zz=zz+1:ob(no,0)=-1:PRINT"ok":GOTO260 840 IFzz=0THENPRINT"i'm not carrying anything.":GOTO260 850 PRINT"i'm carrying:{space*2}{light gray}";:FORi=1TOlo:IFob(i,0)+1THEN880 860 IF3+POS(0)+LEN(ob$(i))>39THENPRINT 870 PRINTob$(i)",{space*2}"; 880 NEXTi:PRINT:GOTO260 890 IFob(no,0)+1ANDob(no,0)<>cpTHENPRINTm0$:GOTO260 900 IFno<>33THEN940 910 IFcp<>26THENPRINT"there's nothing here to use it on.":GOTO260 920 PRINT"the tiny pick breaks on the oyster shell":ob(33,1)=0 930 ob$(33)="a broken oyster pick":GOTO260 940 IFno<>15THEN1020 950 IFcp<>26THEN980 960 IFob(39,0)THENPRINT"the oyster is empty.":GOTO260 970 PRINT"the oyster flies open.":ob(39,0)=cp:GOTO260 980 IFob(35,0)<>cpANDob(35,0)+1THENPRINT"nothing happens.":GOTO260 990 IFob(36,0)=cpTHENPRINT"octopus";m2$:GOTO260 1000 IFob(38,0)<>0THENPRINT"the chest is empty.":GOTO260 1010 PRINT"the chest is open.{space*2}two things fall out.":ob(38,0)=cp:ob(26,0)=cp:GOTO260 1020 IFno=9ORno=34THENPRINT"try 'throw spear'":GOTO260 1030 IFno=25THENPRINT"try 'cut'":GOTO260 1040 IFno=29THENPRINT"try 'fire'":GOTO260 1050 IFno=32THENcp=63-cp:ob(32,0)=cp:GOTO250 1060 IFno=47THENPRINT"my hair is lovely now.":GOTO260 1070 IFno=13THENPRINT"that would be a waste.":GOTO260 1080 PRINT"i don't understand.":GOTO260 1090 sc=0:FORi=1TOlo:IFob(i,0)=1THENsc=sc+ob(i,1) 1100 NEXT:PRINT"you score points by leaving valuable{space*4}items in the submarine. 1110 PRINT"{down}so far, you have"sc"points out of 100.":IFsc<100THEN260 1120 PRINT"{clear}{down}well done!{space*3}{pink}you have 100 out of 100.":END 1130 IFob(no,0)+1THENPRINTm1$:GOTO260 1140 IFno<>34ORob(9,0)+1THEN1920 1150 zz=zz-1:ob(34,0)=cp 1160 IFcp=ob(36,0)THENPRINToh$:ob(36,0)=0:ob(34,0)=0:GOTO260 1170 IFcp=ob(42,0)THENPRINTmh$:ob(42,0)=0:ob(17,0)=cp:GOTO260 1180 PRINTsv$:GOTO260 1190 PRINT"how?":GOTO260 1200 IFob(no,0)+1ANDob(no,0)<>cpTHENPRINTm0$:GOTO260 1210 IF(no-11)*(no-12)*(no-21)*(no-28)*(no-38)THENPRINTnw$:GOTO260 1220 PRINT"it says:{light gray}" 1230 IFno=21THENPRINT,"U{down}{left}K{up}Q{down}{left}J{up}I{down}{left}J{up}{space*2}{arrow left}{sh asterisk*3}{space*2}{reverse on}{sh asterisk*5}{cm asterisk}{down}{left*3}{reverse off}J{reverse on} {reverse off}{cm k}" 1240 IFno=12THENPRINT,"{up}{reverse on}you may regret it":PRINT,"{reverse on}if you go north. " 1250 IFno-11THEN1320 1260 PRINT,"solving mazes{space*2}--{space*2}chapter 5 1270 PRINT,"{cm t*28} 1280 PRINT,"the surest method of solving 1290 PRINT,"a maze is to leave an object 1300 PRINT,"in each room.{space*2}thereby, each 1310 PRINT,"room is easily recognised. 1320 IFno<>28THEN1380 1330 PRINT,"{reverse on}{space*16}{cm asterisk}" 1340 PRINT,"{reverse on} yesterday scient" 1350 PRINT,"{reverse on} that squids and{cm asterisk}" 1360 PRINT,"{reverse on} repelled by loud" 1370 PRINT,"{sh pound}{cm asterisk}{sh pound}{cm asterisk}{sh pound}{cm asterisk}{sh pound}{cm asterisk}{sh pound}{cm asterisk}{sh pound}{cm asterisk}{sh pound}{cm asterisk}{sh pound}{cm asterisk}{sh pound}" 1380 IFno=38THENPRINT,"U{reverse on}{cm y}{left}{down}{cm v}{cm c}{left}{up}{cm y*3}{reverse off}{arrow left}Q{down}" 1390 GOTO260 1400 IFno-34THEN1080 1410 IFob(51,0)+1ORob(52,0)+1THENPRINT"i don't have all the pieces.":GOTO260 1420 ob(51,0)=0:ob(52,0)=0:ob(34,0)=-1:zz=zz-1:PRINT"i'll try.":GOTO260 1430 IF(no-40)*(no-45)*(no-35)*(no-14)THENPRINTm7$:GOTO260 1440 IFob(no,0)+1ANDob(no,0)<>cpTHEN890 1450 IFno=45ANDob(19,0)=0THENob(19,0)=cp:PRINT"coins fall from the suitcase." 1460 IFno=45THEN260 1470 IFno=14THENPRINT"use a tool.":GOTO260 1480 IFob(36,0)=cpTHENPRINT"octopus"m2$:GOTO260 1490 PRINT"it's locked.":GOTO260 1500 PRINT"with what?":GOTO260 1510 IFno=29ORno=20THENPRINT"try 'fire cannon'":GOTO260 1520 IFno>0THENPRINT"try 'throw spear'":GOTO260 1530 IFob(18,0)<>cpTHENPRINT"nothing happened.":GOTO260 1540 PRINT"the frightened squid swims away.":ob(18,0)=0:GOTO260 1550 PRINT"okay{.*3}"n1$:GOTO260 1560 IFno<>29THENPRINTm7$:GOTO260 1570 IFcp<>12THENPRINTm0$:GOTO260 1580 IFob(20,0)+1THENPRINT"i don't have a cannonball.":GOTO260 1590 IFp(12,0)=20THENPRINT"the shot is dented.":GOTO260 1600 PRINT"ok":ob(20,0)=20:zz=zz-1:GOTO260 1610 IFob(no,0)+1ANDob(no,0)<>cpTHEN890 1620 IF(no-16)*(no-18)*(no-22)*(no-23)*(no-36)THENPRINTm3$:GOTO260 1630 IF(no-22)*(no-16)THENPRINT"it's not hungry.":GOTO260 1640 IFno=16THEN1690 1650 IFob(30,0)+1THENPRINT"i have no food!":GOTO260 1660 PRINT"the piranhas gulp down the peanut butter"; 1670 PRINT"and break their teeth eating the jar. 1680 ob(22,0)=0:ob(23,0)=cp:no$(22)="'":ob(30,0)=0:zz=zz-1:ob(24,0)=cp:GOTO260 1690 IFob(23,0)+1THENPRINT"i have no suitable food, so it eats {pink}me{light blue}!":GOTO2040 1700 PRINT"the manta swallows up the piranhas and{space*2}swims away." 1710 zz=zz-1:ob(16,0)=0:ob(23,0)=0:GOTO260 1720 IFob(25,0)+1THENPRINT"i have no scissors.":GOTO260 1730 IF(no=41ORno=43)ANDaa=1THENaa=2:PRINT"the apple falls to the ground.":GOTO260 1740 PRINT"nothing happens.":GOTO260 1750 IF(no-40)*(no-35)THENPRINTm7$:GOTO260 1760 IFob(26,0)+1THENPRINT"i don't have the key.":GOTO260 1770 IFno=35THENPRINT"the key doesn't fit the lock.":GOTO260 1780 IF(cp-25)*(cp-30)THENPRINTm0$:GOTO260 1790 IFgf=1THENPRINT"it's already open!":GOTO260 1800 PRINT"ok":gf=1:GOTO260 1810 IFno<>27THENPRINTm7$:GOTO260 1820 IFcp<>9ANDcp<>31THENPRINTm0$:GOTO260 1830 IFcp=9THENcp=31:GOTO1850 1840 cp=9 1850 GOTO250 1860 IFno<>29THENPRINTm7$:GOTO260 1870 IFcp<>12THENPRINTm0$:GOTO260 1880 IFob(20,0)-20THENPRINT"it's not loaded.":GOTO260 1890 IFob(13,0)+1THENPRINT"there's nothing to light it with.":GOTO260 1900 PRINT"*** b o o m ***":p(12,0)=20:ob$(13)="a used flare":GOTO260 1910 PRINT"i'm not hungry.":GOTO260 1920 IFob(no,0)+1THENPRINTm1$:GOTO260 1930 zz=zz-1:PRINT"ok":ob(no,0)=cp 1940 IFno=23THENob(23,0)=14:PRINT"{down}they swim away. 1950 GOTO260 1960 IFno=0THEN1510 1970 IFob(no,0)+1ANDob(no,0)<>cpTHENPRINTm0$:GOTO260 1980 IFno<>37THENPRINT"nothing comes off.":GOTO260 1990 PRINT"the iron-coloured paint comes off. 2000 ob$(37)="a gold statuette":ob(37,1)=10:GOTO260 2010 IF(cp-31)*(cp-35)THENPRINT"wh{e*4}!":GOTO260 2020 PRINT"down {down}down {down}down {down}down {down}down":IFcp=31THENcp=9:GOTO260 2030 cp=37:GOTO260 2040 FORi=1TO2000:NEXT:FORi=1TOlo:IFob(i,0)=1THENfs=fs+ob(i,1) 2050 NEXT:PRINT"{down*3}you scored"fs"points out of 100.":END 2060 cp=1:np=51:l="a gold statuette":ob(37,1)=10:GOTO260 63999 REM "Invalid BASIC input d64-Z4u7AI stop tok64 (bastext 1.0)