10 REM This adventure is... 20 REM (C) 1996 Jon Ripley 30 REM Mini-Adventure Player 40 REM (C) 1995 Jon Ripley 50 REM DO NOT ALTER this program or use any part of it within your own programs 60 REM Created using the Mini-Adventure creator (C) 1995 Jon Ripley 70 REM 1.00 Modified for the Archimedes 28-Dec-1997 80 VDU6:IFPAGE<>7424:PRINT"Sorry can't run program...":END 90 MODE7 100 *FX229,1 110 LOMEM=TOP+128:FORZ%=0TO125:Z%?1154=Z%?TOP:NEXT:?2=?(TOP+126):?3=?(TOP+127):PROCc:REPEAT:IFd=-2PROCa(c$):PRINT:PROCa(d$):PRINT'"Press any key to begin the adventure...";:IFGET 120 IFb<>dPROCd 130 h=h-1:IF(i=0ANDf>=j)OR(i=b ANDj=0)OR(i=b ANDf>=j)PRINT"Congratulations!"':PROCa(e$):PROCend:ENDPROC 140 IFh<1PROCb 150 REPEAT:INPUTLINE"?"b$:IFb$=""PRINT"Eh?" 160 UNTILb$<>"":IFINSTR(b$," ")=0b$=b$+" " 170 a$=LEFT$(b$,INSTR(b$," ")-1):b$=MID$(b$,INSTR(b$," ")+1):c=0:FORt=1TO13:IFINSTR(m$(t),a$)=1c=t:t=14 180 NEXT:IFc=0PRINT"Not possible.":UNTILFALSE 190 IFc<7IFb(b,c)>0b=b(b,c):d=-1:UNTILFALSE 200 IFc<7PRINT"Can't move that way" 210 IFc=7PROCe 220 IFc=8PROCf 230 IFc=9PROCg 240 IFc=11PROCh 250 IFc=12d=-1 260 IFc=13PRINT"Score...";f'"Strength...";h 270 UNTILc=10:PROCb 280 DEFPROCd:d=b:CLS:PROCa("You are "+b$(b)):PRINT'"There are exit(s):":x$="":FORt=1TO6:IFb(b,t)>0x$=x$+m$(t)+"..." 290 IFb(b,t)<0x$=x$+m$(t)+" through a door..." 300 NEXT:PROCa(x$):PRINT'"You can see:":x$="":FORt=1TOg:IFa(t,1)=b:x$=x$+a$(t)+", " 310 NEXT:IFx$=""PRINT"Nothing."ELSEPROCa(LEFT$(x$,LENx$-2)+".") 320 PRINT:ENDPROC 330 DEFPROCe:e=0:FORt=1TOg:IFb$=a$(t)ANDa(t,1)=bANDa(t,2)=1k=TRUEELSEk=FALSE 340 IFk=TRUEANDa(t,4)>=0a(t,1)=0:e=1:f=f+a(t,4) 350 IFk=TRUEANDa(t,4)<0h=h-ABSa(t,4):PRINT"Ouch!":e=2 360 NEXT:IFe=1d=-1:ENDPROC 370 IFe=0PRINT"Not possible." 380 ENDPROC 390 DEFPROCf:e=0:FORt=1TOg:IFb$=a$(t)ANDa(t,1)=0a(t,1)=b:e=1:f=f-a(t,4) 400 NEXT:IFe=1d=-1:ENDPROC 410 PRINT"Not possible.":ENDPROC 420 DEFPROCh:PRINT"You have the following...":n=FALSE:FORt=1TOg:IFa(t,1)=0PRINTa$(t)":";:n=TRUE 430 NEXT:IFnPRINTELSEPRINT"Nothing." 440 ENDPROC 450 DEFPROCg:IFb$<>"DOOR"PRINT"Unlock what?":ENDPROC 460 l=0:FORx=1TO6:IFb(b,x)<0l=l+1:IFa(-b(b,x),1)=0b(b,x)=a(-b(b,x),3):PROCa("Opened the "+m$(x)+" door."):d=-1 470 IFb(b,x)<0IFa(-b(b,x),1)<>0PROCa("You don't have the key for the "+m$(x)+" door.") 480 NEXT:IFl=0PRINT"There are no doors here to open." 490 ENDPROC 500 DEFPROCb:PROCa(f$):PRINT'"Goodbye..."':PROCi:ENDPROC 510 DEFPROCc:FORt=1TO13:READm$(t):NEXT:ENDPROC 520 DATA NORTH,SOUTH,EAST,WEST,UP,DOWN,TAKE,DROP,UNLOCK,QUIT,INVENTORY,LOOK,SCORE 530 DEFPROCa(a$):LOCALp,a:IFa$<>""a=39ELSEENDPROC 540 a$=a$+" ":REPEAT:p=a+1:REPEATp=p-1:UNTILMID$(a$,p,1)=" "ORp=1:IFp=1p=LENa$ 550 PRINTLEFT$(a$,p):a$=MID$(a$,p+1):UNTILa$="":ENDPROC 560 DEFPROCi 570 PRINT"Would you like to play again? (Y/N) : ";:REPEATA$=GET$:UNTILINSTR("YyNn",A$):IFINSTR("Yy",A$)CHAIN".!RunImage"ELSEOSCLI"FX229,0":PRINT:OSCLI"Quit":END