8 DV=PEEK(186):IFDV<8THENDV=8 10 REM ESCAPE ROUTE C64 SEPT.1992 12 REM CASTLE - JC HILTY 14 OPEN3,DV,3,"STATS,S,R":INPUT#3,DY:INPUT#3,MS:INPUT#3,SC:INPUT#3,FT:CLOSE3 20 SYS57812"ESCAPE.SP2",DV,1:SYS62631 22 DIMP%(18,4),Q%(8,4),NX%(18,4),OX%(8,4) 24 FORX=1TO18:FORY=1TO4:READP%(X,Y):NEXTY:NEXTX 26 FORX=1TO8:FORY=1TO4:READQ%(X,Y):NEXTY:NEXTX 28 FORX=1TO18:FORY=1TO4:READNX%(X,Y):NEXTY:NEXTX 30 FORX=1TO8:FORY=1TO4:READOX%(X,Y):NEXTY:NEXTX 31 V=53248:S=54272:LE=0 32 SYS49152,"PIC8",40960,24576:SYS860:TP=35:YS=20 34 SYS16439,1,6,20,"[197]RIC ********************" 35 SYS16439,6,6,22,"[200]ENCHMAN ********************" 36 GOSUB1000 99 REM MAIN LOOP 100 IFYS<1THEN150 101 IFCS<1THEN800 102 FB=-((PEEK(56320)AND16)=0):IFFB=1THEN500 103 JY=PEEK(56320)AND15 104 IFJY=14THEN510 105 IFJY=13THEN515 106 IFJY=7THEN520 107 IFJY=11THEN525 108 IFJY=6THEN530 109 IFJY=10THEN535 110 IFJY=9THEN540 112 IFJY=5THEN545 114 IFJJ=1THEN252 130 IFPEEK(V)PEEK(V+2)THENPOKE24569,24:DO=0 134 IFPEEK(V)24THENM2=3:GOTO250 136 IFPEEK(V)>PEEK(V+2)ANDPEEK(V)-PEEK(V+2)>24THENM2=1:GOTO250 138 Z=INT(RND(3)*2)+1:ONZGOSUB600,610:K2=1:GOTO250 150 POKE24568,13 151 SYS16439,7,6,23," [199]OOD TRY, [197]RIC.":FORT=0TO1000:NEXT:POKEV+21,0 152 IFMS<1THENA$="WIN":GOSUB9000:GOTO2000 154 DY=DY+1:IFDY=22THENA$="LOSE":GOSUB9000:GOTO2000 156 A$="MAIN":GOSUB9000:GOTO2000 169 REM HIT SOUND 170 FORX=0TO24:POKES+X,0:NEXT:POKES+1,40:POKES+5,18:POKES+24,15:POKES,240 172 POKES+4,129:RETURN 199 REM FRAMING ANIMATION 200 NF=1 202 POKE24568,P%(M,NF):POKEV,PEEK(V)+NX%(M,NF) 204 FORT=0TO10:NEXT 206 NF=NF+1:IFNF=5THENK=0:K1=0:GOTO130 207 IFNF=2ANDJJ=1THEN300 208 IFNF=3THENGOSUB410 210 GOTO202 250 OF=1:JJ=1 252 POKE24569,Q%(M2,OF):POKEV+2,PEEK(V+2)+OX%(M2,OF) 254 FORT=0TO10:NEXT 256 OF=OF+1:IFOF=2THEN102 257 IFOF=5THENJJ=0:K2=0:GOTO100 258 IFOF=3ANDK2=1THENYS=YS-1:TP=TP-1:GOSUB170:SYS16439,1,TP,20," " 259 GOTO252 300 POKE24569,Q%(M2,OF):POKEV+2,PEEK(V+2)+OX%(M2,OF) 302 POKE24568,P%(M,NF):POKEV,PEEK(V)+NX%(M,NF):FORT=0TO10:NEXT 303 IFNF=2THENGOSUB400:GOSUB410 304 NF=NF+1:OF=OF+1:IFNF=5THENJJ=0:K=0:K2=0:K1=0:GOTO100 305 GOTO300 400 IFK=0ANDK2=1THENYS=YS-1:TP=TP-1:GOSUB170:SYS16439,1,TP,20," " 404 RETURN 410 IFK1=0THENRETURN 411 IFPEEK(V)PEEK(V+2)ANDPEEK(V)-PEEK(V+2)<25ANDDN=1THEN420 414 RETURN 420 CS=CS-1:TC=TC-1:GOSUB170 421 SYS16439,1,TC,22," ":RETURN 499 REM CHANGE DIRECTIONS 500 IFDN=0THENDN=1:POKE24568,32:GOTO103 502 IFDN=1THENDN=0:POKE24568,10:GOTO103 509 REM JUMP 510 IFDN=0THENM=11:K=1:GOTO200 512 IFDN=1THENM=12:K=1:GOTO200 514 REM DUCK 515 IFDN=0THENM=13:K=1:GOTO200 516 IFDN=1THENM=14:K=1:GOTO200 519 REM WALK RIGHT 520 IFPEEK(V)>234THEN130 522 IFDN=0THENM=1:GOTO200 523 IFDN=1THENM=2:GOTO200 524 REM WALK LEFT 525 IFPEEK(V)<76THEN130 526 IFDN=0THENM=4:GOTO200 527 IFDN=1THENM=3:GOTO200 529 REM HIGH KICK 530 IFDN=0THENM=5:K1=1:GOTO200 531 IFDN=1THENM=6:K1=1:GOTO200 534 REM LOW KICK 535 IFDN=0THENM=9:K1=1:GOTO200 536 IFDN=1THENM=10:K1=1:GOTO200 539 REM PUNCH 540 IFDN=0THENM=7:K1=1:GOTO200 541 IFDN=1THENM=8:K1=1:GOTO200 544 REM ROLL 545 IFDN=0ANDPEEK(V)<218THENM=15:K=1:GOTO200 546 IFDN=1ANDPEEK(V)>092THENM=17:K=1:GOTO200 547 GOTO130 600 IFDO=1THENM2=6:RETURN 602 M2=5:RETURN 610 IFDO=1THENM2=8:RETURN 612 M2=7:RETURN 800 LE=LE+1:POKE24569,43:SC=SC+150:MS=MS-100 801 IFLE=1THEN806 802 IFLE=2THEN810 803 IFLE=3THEN820 804 IFLE=4THEN830 805 IFLE=5THEN1800 806 SYS16439,7,6,23,"SO FAR SO GOOD , [197]RIC.":FORT=0TO4000:NEXT 807 POKEV+21,0:YS=15:TP=30:SYS16439,7,6,23," " 808 SYS16439,1,6,20,"[197]RIC *************** " 809 SYS16439,6,6,22,"[200]ENCHMAN ********************":GOTO36 810 SYS16439,7,6,23,"TO THE CLUE ROOM, [205]R. [200]AWTHORNE":FORT=0TO4000:NEXT 811 POKEV+21,0 812 SYS49152,"PIC9",40960,24576:SYS860 813 SYS16439,1,6,20,"[197]RIC **********" 814 SYS16439,6,6,22,"[200]ENCHMAN ********************" 815 YS=10:TP=25:GOTO36 820 SYS16439,7,6,23,"THE HENCHMEN ARE STRONGER....":FORT=0TO4000:NEXT 822 POKEV+21,0:YS=08:TP=23:SYS16439,7,6,23," " 824 SYS16439,1,6,20,"[197]RIC ******** " 825 SYS16439,6,6,22,"[200]ENCHMAN ********************":GOTO36 830 SYS16439,7,6,23,"[206]OW THE [205]ASTER [200]ENCHMAN...":FORT=0TO4000:NEXT 832 POKEV+21,0:YS=05:TP=20:SYS16439,7,6,23," " 834 SYS16439,1,6,20,"[197]RIC ***** " 835 SYS16439,6,6,22,"[200]ENCHMAN ********************":GOTO36 1000 POKE24568,10:POKE24569,46:POKEV+28,3:POKEV+37,10:POKEV+38,0:POKEV+23,3 1002 POKEV+39,7:POKEV+40,14:POKEV,60:POKEV+1,150:POKEV+2,250:POKEV+3,150 1004 POKEV+29,3:POKEV+21,3:XN=60:DN=0:DO=1:JJ=0:CS=20:TC=35:K=0:K1=0:K2=0 1005 RETURN 1800 SYS16439,7,6,23,"[197]XCELLENT WORK , [197]RIC.":FORT=0TO4000:NEXT:POKEV+21,0 1802 IFMS<1THENA$="WIN":GOSUB9000:GOTO2000 1804 DY=DY+1:IFDY=22THENA$="LOSE":GOSUB9000:GOTO2000 1806 A$="MAIN":GOSUB9000:GOTO2000 2000 POKE56576,(PEEK(56576)AND252)OR3:POKE53265,27:POKE53270,200 2002 PRINT"[147]":POKE53272,21:POKE53281,0:POKE53280,0:Q$=CHR$(34) 2006 PRINT"[144][147]LOAD"Q$A$Q$","DV:PRINT"RUN":POKE631,13:POKE632,13:POKE198,2 2008 END 5000 DATA 11,10,11,10,33,32,33,32,33,32,33,32,11,10,11,10,12,18,12,10 5002 DATA 34,40,34,32,14,15,14,10,36,37,36,32,16,17,16,10,38,39,38,32 5004 DATA 19,19,19,10,41,41,41,32,20,20,20,10,42,42,42,32,22,23,22,10 5006 DATA 44,45,44,32,44,45,44,32,22,23,22,10 5008 DATA 25,24,25,24,47,46,47,46,47,46,47,46,25,24,25,24,26,27,26,24 5010 DATA 48,49,48,46,28,29,28,24,50,51,50,46 5012 DATA 4,4,4,4,4,4,4,4,-4,-4,-4,-4,-4,-4,-4,-4,0,0,0,0,0,0,0,0,0,0,0,0 5014 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 5016 DATA 8,8,8,8,8,8,8,8,-8,-8,-8,-8,-8,-8,-8,-8 5018 DATA 4,4,4,4,4,4,4,4,-4,-4,-4,-4,-4,-4,-4,-4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 5020 DATA 0 9000 OPEN3,DV,3,"@0:STATS,S,W":PRINT#3,DY:PRINT#3,MS:PRINT#3,SC:PRINT#3,FT 9002 CLOSE3:RETURN 10000 D=PEEK(186):N$="0:CASTLE":OPEN15,D,15,"S"+N$:CLOSE15:SAVEN$,D:END