GAMEPAD 1 RANDOMIZE TIMER REM WAS8BIT DIM GLOBAL MAZE0(19,15),MAZE1(19,15) FONT 224 ILEVEL=PEEK($E000) NEXTLEVEL: POKE $E000,ILEVEL INC ILEVEL SPRITE OFF PLAY 0,50-ILEVEL*2,ILEVEL SOUND 0 WAIT 90 CLS FOR I=11 TO 10+ILEVEL SPRITE I,RND(19)*8,RND(15)*8,I+19 SPRITE I PAL 3 PRIO 0 NEXT I CALL DOMAZE CLS BG 1 PAL 0 FOR Y=0 TO 15 FOR X=0 TO 19 REM CELL X,Y,28+RND(1) PRIO 1 CELL X,Y,MAZE0(X,Y) NEXT X NEXT Y PX=75 PY=68 PC=27 SPRITE 0,PX,PY,PC SPRITE 0 PAL 3 IANI=0 N1=0 N2=0 N3=0 N4=0 DY=0 DX=0 GX=0 GY=0.01 FOR I=1 TO 4 SPRITE I PAL 1 PRIO 1 NEXT I IFLASH=0 DO IF BUTTON(0,1) THEN IF IFLASH=0 THEN IFLASH=1 BG TINT 0,0 TO 19,15 PAL 2 END IF ELSE IF IFLASH=1 THEN IFLASH=0 BG TINT 0,0 TO 19,15 PAL 0 END IF END IF BG 1 DX=0 DY=0 IF NOT BUTTON(0,1) THEN IF RIGHT(0) THEN DX=1 IF LEFT(0) THEN DX=-1 IF DOWN(0) THEN DY=1 IF UP(0) THEN DY=-1 CX=PX CY=PY ADD CX,DX,0 TO 159 ADD CY,DY,0 TO 126 SPRITE 0,CX,CY, LX=CX\8 RX=(CX+7)\8 UY=CY\8 WN=(CY+7)\8 SPRITE 1,LX*8,UY*8,CELL.C(LX,UY) SPRITE 2,RX*8,UY*8,CELL.C(RX,UY) SPRITE 3,LX*8,WN*8,CELL.C(LX,WN) SPRITE 4,RX*8,WN*8,CELL.C(RX,WN) IF SPRITE HIT(0,1) THEN N1=1 ELSE N1=0 IF SPRITE HIT(0,2) THEN N2=1 ELSE N2=0 IF SPRITE HIT(0,3) THEN N3=1 ELSE N3=0 IF SPRITE HIT(0,4) THEN N4=1 ELSE N4=0 END IF IF SPRITE HIT(0,11 TO 19) THEN SPRITE OFF HIT PLAY 1,50,1 SOUND 1 WAIT 90 END IF REM TRACE N1,N2,N3,N4 NTOT=N1+N2+N3+N4 IF NTOT=0 OR (BUTTON(0,0) AND BUTTON(0,1)) THEN PX=CX PY=CY END IF SPRITE 0,PX,PY, IEND=0 FOR I=11 TO 19 IF SPRITE.X(I)>0 THEN IEND=1 NEXT I IF IEND=0 THEN GOTO NEXTLEVEL IF BUTTON(0,0) THEN WAIT VBL ELSE WAIT 6 LOOP SUB DOMAZE XX=0 YY=0 CC=0 NEWMAZE: CLS BG 0 FOR Y=0 TO 15 FOR X=0 TO 19 MAZE0(X,Y)=RND(1)+1 MAZE1(X,Y)=0 NEXT X NEXT Y BG 1 MAZE1(9,7)=3 DOAGAIN: IGROW=0 ' ' GROW ' FOR Y=0 TO 15 FOR X=0 TO 19 IF MAZE1(X,Y)=3 THEN MAZE1(X,Y)=9 NEXT X NEXT Y ISPROUT=0 ' ' SPROUT ' FOR Y=0 TO 15 FOR X=0 TO 19 IF MAZE1(X,Y)=9 THEN IF MAZE0(X,Y)=1 THEN CALL WRAP(1,X,Y,-1,0,XX,YY,CC) IF CC=0 THEN MAZE1(XX,YY)=3 INC ISPROUT END IF ELSE CALL WRAP(1,X,Y,0,-1,XX,YY,CC) IF CC=0 THEN MAZE1(XX,YY)=3 INC ISPROUT END IF END IF CALL WRAP(0,X,Y,0,1,XX,YY,CC) IF CC=2 THEN CD=MAZE1(XX,YY) IF CD=0 THEN MAZE1(XX,YY)=3 INC ISPROUT END IF END IF CALL WRAP(0,X,Y,1,0,XX,YY,CC) IF CC=1 THEN CD=MAZE1(XX,YY) IF CD=0 THEN MAZE1(XX,YY)=3 INC ISPROUT END IF END IF END IF NEXT X NEXT Y ICLEAR=1 FOR Y=0 TO 15 FOR X=0 TO 19 C=MAZE1(X,Y) IF C<9 THEN ICLEAR=0 NEXT X NEXT Y IF ICLEAR=0 THEN IF ISPROUT>0 THEN GOTO DOAGAIN ELSE PLAY 1,30,9 GOTO NEWMAZE END IF END IF PLAY 0,90,1 END SUB SUB DRAWMAZE(MNUM) BG MNUM IF MNUM=0 THEN FOR Y=0 TO 15 FOR X=0 TO 19 CELL X,Y,MAZE0(X,Y) NEXT X NEXT Y ELSE FOR Y=0 TO 15 FOR X=0 TO 19 CELL X,Y,MAZE1(X,Y) NEXT X NEXT Y END IF END SUB SUB WRAP(B,X,Y,DX,DY,RX,RY,RC) RX=X RY=Y ADD RX,DX,0 TO 19 ADD RY,DY,0 TO 15 IF B=0 THEN RC=MAZE0(RX,RY) ELSE RC=MAZE1(RX,RY) END IF END SUB #1:MAIN PALETTES 0000000000082003000410020014203C 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 FF00FF000000000000FFFF0000000000 A0A0A0A0A0A0A0A06060606060606060 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 80000000000000008000000000000000 D700D7000000000000EFD70000000000 A0A000A000A0A0A06060402040606060 00FFFFFFFFFFFFFF00FFE7F7F7F7E3FF 00FFFFFFFFFFFFFF00FFE3FBE3EFE3FF 00FFFFFFFFFFFFFF00FFE3FBF3FBE3FF 00FFFFFFFFFFFFFF00FFEBEBE3FBFBFF 00FFFFFFFFFFFFFF00FFE3EFE3FBE3FF 00FFFFFFFFFFFFFF00FFE3EFE3EBE3FF 00FFFFFFFFFFFFFF00FFE3FBFBFBFBFF 00FFFFFFFFFFFFFF00FFE3EBE3EBE3FF 00FFFFFFFFFFFFFF00FFE3EBE3FBE3FF 00FFFFFFFFFFFFFF00FF91D5D5D581FF 00FFFFFFFFFFFFFF00FF93DBDBDB81FF 00FFFFFFFFFFFFFF00FF91DDD1D781FF 00FFFFFFFFFFFFFF00FF91DDD9DD81FF 00FFFFFFFFFFFFFF00FF95D5D1DD8DFF 00FFFFFFFFFFFFFF00FF91D7D1DD81FF 00FFFFFFFFFFFFFF00FF91D7D1D581FF 00FFFFFFFFFFFFFF00FF91DDDDDD8DFF 00FFFFFFFFFFFFFF00FF91D5D1D581FF 00FFFFFFFFFFFFFF00FF91D5D1DD81FF 00FFFFFFFFFFFFFF00FF81E585B581FF 00FFFFFFFFFFFFFF00FF83EB8BBB81FF 00FFFFFFFFFFFFFF00FF81ED81B781FF 00FFFFFFFFFFFFFF00FF81ED89BD81FF 00FFFFFFFFFFFFFF00FF85E581BD8DFF 00FFFFFFFFFFFFFF00FF81E781BD81FF 00FFFFFFFFFFFFFF00FF81E781B581FF 00FFFFFFFFFFFFFF00FF81ED8DBD8DFF 00FFFFFFFFFFFFFF00FF81E581B581FF 00FFFFFFFFFFFFFF00FF81E581BD81FF 00FFFFFFFFFFFFFF00FF81E585E581FF 00FFFFFFFFFFFFFF00FF83EB8BEB81FF 00FFFFFFFFFFFFFF00FF81ED81E781FF 00FFFFFFFFFFFFFF00FF81ED89ED81FF 00FFFFFFFFFFFFFF00FF85E581ED8DFF 00FFFFFFFFFFFFFF00FF81E781ED81FF 00FFFFFFFFFFFFFF00FF81E781E581FF 00FFFFFFFFFFFFFF00FF81ED8DED8DFF 00FFFFFFFFFFFFFF00FF81E581E581FF 00FFFFFFFFFFFFFF00FF81E581ED81FF 00FFFFFFFFFFFFFF00FFA1A585E5E1FF 00FFFFFFFFFFFFFF00FFA3AB8BEBE1FF 00FFFFFFFFFFFFFF00FFA1AD81E7E1FF 00FFFFFFFFFFFFFF00FFA1AD89EDE1FF 00FFFFFFFFFFFFFF00FFA5A581EDEDFF 00FFFFFFFFFFFFFF00FFA1A781EDE1FF 00FFFFFFFFFFFFFF00FFA1A781E5E1FF 00FFFFFFFFFFFFFF00FFA1AD8DEDEDFF 00FFFFFFFFFFFFFF00FFA1A581E5E1FF 00FFFFFFFFFFFFFF00FFA1A581EDE1FF 00FFFFFFFFFFFFFF00FF81B585E581FF 00FFFFFFFFFFFFFF00FF83BB8BEB81FF 00FFFFFFFFFFFFFF00FF81BD81E781FF 00FFFFFFFFFFFFFF00FF81BD89ED81FF 00FFFFFFFFFFFFFF00FF85B581ED8DFF 00FFFFFFFFFFFFFF00FF81B781ED81FF 00FFFFFFFFFFFFFF00FF81B781E581FF 00FFFFFFFFFFFFFF00FF81BD8DED8DFF 00FFFFFFFFFFFFFF00FF81B581E581FF 00FFFFFFFFFFFFFF00FF81B581ED81FF 00FFFFFFFFFFFFFF00FF81B585A581FF 00FFFFFFFFFFFFFF00FF83BB8BAB81FF 00FFFFFFFFFFFFFF00FF81BD81A781FF 00FFFFFFFFFFFFFF00FF81BD89AD81FF 00FFFFFFFFFFFFFF00FF85B581AD8DFF 00FFFFFFFFFFFFFF00FF81B781AD81FF 00FFFFFFFFFFFFFF00FF81B781A581FF 00FFFFFFFFFFFFFF00FF81BD8DAD8DFF 00FFFFFFFFFFFFFF00FF81B581A581FF 00FFFFFFFFFFFFFF00FF81B581AD81FF 00FFFFFFFFFFFFFF00FF81E5E5E5E1FF 00FFFFFFFFFFFFFF00FF83EBEBEBE1FF 00FFFFFFFFFFFFFF00FF81EDE1E7E1FF 00FFFFFFFFFFFFFF00FF81EDE9EDE1FF 00FFFFFFFFFFFFFF00FF85E5E1EDEDFF 00FFFFFFFFFFFFFF00FF81E7E1EDE1FF 00FFFFFFFFFFFFFF00FF81E7E1E5E1FF 00FFFFFFFFFFFFFF00FF81EDEDEDEDFF 00FFFFFFFFFFFFFF00FF81E5E1E5E1FF 00FFFFFFFFFFFFFF00FF81E5E1EDE1FF 00FFFFFFFFFFFFFF00FF81A585A581FF 00FFFFFFFFFFFFFF00FF83AB8BAB81FF 00FFFFFFFFFFFFFF00FF81AD81A781FF 00FFFFFFFFFFFFFF00FF81AD89AD81FF 00FFFFFFFFFFFFFF00FF85A581AD8DFF 00FFFFFFFFFFFFFF00FF81A781AD81FF 00FFFFFFFFFFFFFF00FF81A781A581FF 00FFFFFFFFFFFFFF00FF81AD8DAD8DFF 00FFFFFFFFFFFFFF00FF81A581A581FF 00FFFFFFFFFFFFFF00FF81A581AD81FF 00FFFFFFFFFFFFFF00FF81A585E581FF 00FFFFFFFFFFFFFF00FF83AB8BEB81FF 00FFFFFFFFFFFFFF00FF81AD81E781FF 00FFFFFFFFFFFFFF00FF81AD89ED81FF 00FFFFFFFFFFFFFF00FF85A581ED8DFF 00FFFFFFFFFFFFFF00FF81A781ED81FF 00FFFFFFFFFFFFFF00FF81A781E581FF 00FFFFFFFFFFFFFF00FF81AD8DED8DFF 00FFFFFFFFFFFFFF00FF81A581E581FF 00FFFFFFFFFFFFFF00FF81A581ED81FF FF818199998181FFFFFFFFE7E7FFFFFF #15:MAIN SOUND 220002EE00FAE000220000CC00FDE000 08006060000000002800303019FE0000 38002020000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000