GAMEPAD 1 RANDOMIZE TIMER BG 1 FOR Y=0 TO 15 FOR X=0 TO 19 ATTR(2,INT(RND*2),INT(RND*2),0,0) CELL X,Y,2+INT(RND*3) NEXT X NEXT Y REM WASHAW GAMES SPRITE 0,16,80+32,64 SPRITE.A 0,(2,,,,) ANIWAIT=0 ANIFRAME=0 ANIACTION=0 ANIBASE=64 PX=16 PY=80+32 RUNWAIT=0 GETWAIT=0 GLOBAL XMAP GLOBAL ISCROLL GLOBAL GRAV GRAV=0.1 GLOBAL YACC YACC=0 GLOBAL PX GLOBAL PY DIM GLOBAL SX(60) DIM GLOBAL SY(60) DIM GLOBAL SDX(60) DIM GLOBAL SDY(60) CALL GETMAP(99) GLOBAL ILIFE ILIFE=3 GLOBAL IWIN IWIN=0 IFIRE=0 DO CALL DOALIENS CALL DOBULLETS BG 1 ATTR(4,0,0,0,0) FOR X=0 TO 4 IF ILIFE>X THEN CELL X,0,74 ELSE CELL X,0,75 END IF IF IFIRE>X THEN CELL X,1,39 ELSE CELL X,1,55 END IF NEXT X ATTR(5,0,0,0,0) FOR X=0 TO 4 IF IWIN>X THEN CELL 15+X,0,40 ELSE CELL 15+X,0,41 END IF NEXT X BG 0 CALL GETMAP(0) IHIT=0 ANIWAIT=(ANIWAIT+1) MOD 10 IF ANIWAIT=0 THEN ANIFRAME=(ANIFRAME+1) MOD 2 SPRITE 0,,,ANIBASE+(ANIACTION*2)+ANIFRAME END IF IF BUTTON(0,0) AND IFIRE>0 THEN IFIRE=IFIRE-1 PLAY 3,60,30 SOUND 4 FOR I=1 TO 60 SPRITE I,-32,-32,0 NEXT I PALETTE 0,63,,, WAIT 5 PALETTE 0,0,,, END IF IF BUTTON(0,1) THEN CH=CELL.C(PX\8,PY\8) CH2=CELL.C((PX\8)+1,PY\8) IF CH=6 OR CH2=6 THEN REM PY=PY-36 YACC=-2 PY=PY-16 IF PY<0 THEN PY=0 SPRITE 0,,PY, END IF IGET=0 ATTR(3,,,,) IF CH=22 THEN IGET=1 CELL PX\8,PY\8,20 IGET=1 ELSE IF CH2=22 THEN CELL (PX\8)+1,PY\8,20 IGET=1 END IF IF CH=77 OR CH2=77 THEN REM LOSE SPRITE 0,-32,-32,0 PLAY 1,50,60 SOUND 1 ATTR (4,,,,) BG FILL 0,0 TO 19,15 TEXT 8,0,"LOSE" END ELSE IF CH=76 OR CH2=76 THEN REM WIN SPRITE 0,-32,-32,0 PLAY 3,50,180 SOUND 3 ATTR (5,,,,) BG FILL 0,0 TO 19,15 TEXT 9,0,"WIN" END END IF IF IGET=1 THEN I=INT(RND*3) SPRITE.A 0,(4,,,,) IF I=2 THEN SPRITE.A 0,(5,,,,) SPRITE 0,,,38+I WAIT 60 SPRITE 0,,,0 SPRITE.A 0,(2,,,,) IF I=0 AND ILIFE<5 THEN ILIFE=ILIFE+1 PLAY 2,90,30 SOUND 2 END IF IF I=1 AND IFIRE<5 THEN IFIRE=IFIRE+1 PLAY 2,90,30 SOUND 2 END IF IF I=2 AND IWIN<5 THEN IWIN=IWIN+1 PLAY 2,90,30 SOUND 2 END IF END IF END IF LR=LEFT(0) OR RIGHT(0) UD=UP(0) OR DOWN(0) LRUD=LR OR UD IF RIGHT(0) AND NOT UD THEN SPRITE.A 0,(,0,,,) ANIACTION=2 CALL CHECKHITLR(PX+8,PY,IHIT) IF IHIT=0 THEN PX=PX+1 SPRITE 0,PX,, END IF IF LEFT(0) AND NOT UD THEN SPRITE.A 0,(,1,,,) ANIACTION=2 CALL CHECKHITLR(PX-1,PY,IHIT) IF IHIT=0 THEN PX=PX-1 SPRITE 0,PX,, END IF IF DOWN(0) AND NOT LR THEN SPRITE.A 0,(,0,,,) ANIACTION=1 PY=PY+1 IF PY>120 THEN PY=120 SPRITE 0,,PY, END IF IF UP(0) AND NOT LR THEN SPRITE.A 0,(,1,,,) ANIACTION=4 CALL CHECKHITUP(PX,PY-1,IHIT) IF IHIT=0 THEN PY=PY-1 SPRITE 0,,PY, END IF IF NOT LRUD THEN ANIACTION=0 END IF ATTR(0,0,0,0,0) BG 0 IF PX>=(160-16) THEN CALL GETMAP(1) PX=160-17 IF IWIN=5 THEN FOR IY=0 TO 15 FOR IX=14 TO 19 C=CELL.C(IX,IY) A=CELL.C(IX,IY) IF C=77 THEN ATTR A CELL IX,IY,76 END IF NEXT IX NEXT IY END IF SPRITE 0,PX,, END IF IF PX<0 THEN REM CALL GETMAP(-1) PX=0 SPRITE 0,PX,, END IF CALL CHECKFALL(PX,PY) SPRITE 0,,PY, WAIT VBL LOOP SUB DOALIENS FOR IY=0 TO 15 FOR IX=0 TO 19 C=CELL.C(IX,IY) IF (C>=80 AND C<=89) AND INT(RND*10)=0 THEN A=CELL.A(IX,IY) ATTR A CELL IX,IY,80+INT(RND*10) IF INT(RND*25)=0 THEN CALL ADDBULLET(IX,IY) END IF NEXT IX NEXT IY END SUB SUB ADDBULLET(X,Y) PLAY 0,70,15 SOUND 0 I=INT(RND*60)+1 IF SPRITE.X(I)=-32 THEN SPRITE I,X*8,Y*8,90 SPRITE.A I,(4,,,,) SX(I)=X*8 SY(I)=Y*8 SDX(I)=(PX-(X*8))/150 SDY(I)=(PY-(Y*8))/150 END IF END SUB SUB DOBULLETS FOR I=1 TO 60 IF SPRITE.X(I)>-32 THEN SX(I)=SX(I)+SDX(I) SY(I)=SY(I)+SDY(I) SPRITE I,SX(I),SY(I), X=SX(I) Y=SY(I) IF X>160 OR X<0 OR Y>128 OR Y<0 THEN SPRITE I,-32,-32,0 IF SPRITE HIT(0) THEN SPRITE HIT,-32,-32,0 PLAY 1,60,30 SOUND 1 ILIFE=ILIFE-1 IF ILIFE=-1 THEN SPRITE 0,-32,-32,0 PLAY 1,50,60 SOUND 1 ATTR (4,,,,) BG FILL 0,0 TO 19,15 TEXT 8,0,"LOSE" END END IF END IF END IF NEXT I END SUB SUB GETMAP(DX) IF DX=99 THEN XMAP=0 ISCROLL=0 BG 0 BG COPY 0,0,21,16 TO 0,0 END IF IF ISCROLL=8 THEN XMAP=XMAP+1 BG 0 BG SCROLL 0,0 TO 19,15 STEP -1,0 BG COPY XMAP+19,0,2,16 TO 19,0 SCROLL 0,0,0 ISCROLL=0 END IF IF ISCROLL>0 THEN ISCROLL=ISCROLL+1 SCROLL 0,ISCROLL,0 WAIT 1 END IF IF DX=1 AND ISCROLL=0 AND XMAP<107 THEN SCROLL 0,1,0 ISCROLL=1 END IF END SUB SUB CHECKFALL(X,Y) CX=X\8 CY=Y\8 SPRITE 63,CX*8,CY*8,1 R=CELL.C(CX,CY) R2=CELL.C(CX+1,CY) IF R=0 OR R2=0 THEN YACC=YACC+GRAV DY=YACC IF DY<-2 THEN DY=-2 IF DY>2 THEN DY=2 Y=Y+DY IF Y<0 THEN Y=0 END IF IF (R=74 OR R2=74) AND ILIFE<5 THEN ILIFE=ILIFE+1 PLAY 2,90,30 SOUND 2 CELL CX,CY,0 END IF IF (R=40 OR R2=40) AND IWIN<5 THEN IWIN=IWIN+1 PLAY 2,90,30 SOUND 2 CELL CX+1,CY,0 END IF IF R=76 OR R2=76 THEN REM WIN SPRITE 0,-32,-32,0 PLAY 3,50,180 SOUND 3 ATTR (5,,,,) BG FILL 0,0 TO 19,15 TEXT 9,0,"WIN" END END IF IF R=77 OR R2=77 THEN REM LOSE SPRITE 0,-32,-32,0 PLAY 1,50,60 SOUND 1 ATTR (4,,,,) BG FILL 0,0 TO 19,15 TEXT 8,0,"LOSE" END END IF SPRITE 63,,,0 END SUB SUB CHECKHITUP(X,Y,R) BG 0 R=0 CX=X\8 CY=Y\8 SPRITE 63,CX*8,CY*8,1 CALL HITUPLIST(CELL.C(CX,CY),R) IF X>CX*8 AND R=0 THEN SPRITE 63,CX*8+8,CY*8,1 CALL HITUPLIST(CELL.C(CX+1,CY),R) END IF SPRITE 63,,,0 END SUB SUB CHECKHITLR(X,Y,R) BG 0 R=0 CX=X\8 CY=Y\8 SPRITE 63,CX*8,CY*8,1 CALL HITLRLIST(CELL.C(CX,CY),R) IF Y>CY*8 AND R=0 THEN SPRITE 63,CX*8,CY*8+8,1 CALL HITLRLIST(CELL.C(CX,CY+1),R) END IF SPRITE 63,,,0 END SUB SUB HITUPLIST(C,R) R=0 IF C=0 OR C=18 OR C=19 THEN R=1 END SUB SUB HITLRLIST(C,R) R=0 IF C=18 OR C=19 THEN R=1 END SUB #1:MAIN PALETTES 003F2A1500242015001B030200352510 000C0830003C281400172B3D003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 FFFFFFFFFFFFFFFF0000000000000000 00000040000000000000000000000000 00000000000000000000000000080000 00020000000000000002000000000000 00000000000000000000000000000000 00000000000000000000000000000055 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 3FFFF3FFEFFFFCFFE5FF9EFF39FF97FF F4F4F7FCFE7F1EFF9F9FFF9FD7F3F3FF FF00FFFCFE7F1EFF00FFFF9FD7F3F3FF 00FF7E7E7E7E7EFFFF08918991899108 F4FEFFFEFE7F3EFF9F81BDBDBD81D3FF 00BDFFFFFFFFFFBDFF423C3C3C3C3C7E 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 3FFFF3FFEFFFFF00E5FF9EFF39FF00FF F4F4F7FCFE7FFFFF9F9FFF9FD7F3FFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00667E7E3C18000066FFFFFF7E3C1818 3C4281999981423C003C7E7E7E7E3C00 0018245A5A24180000183C66663C1800 00183C66663C180000183C66663C1800 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 3C4281818181423C0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 7E7E7E7E0000C3C3002424003C3C0000 007E7E7E7E00C3C300002424003C3C00 7E7E7E7E0002C6C0002424003C3C0000 7E7E7E7E00406303002424003C3C0000 3E3E3E3E00023630000404003C3C0000 3E3E3E3E00406C0C000404003C3C0000 3E3E3E3E00006666000404003C3C0000 3E3E3E3E00C2C600000404003C3C0000 7E7E7E7E0002C6C0000000003C3C0000 7E7E7E7E00406303000000003C3C0000 66FFFFFF7E3C181866FFFFFF7E3C1818 66998181422418186699818142241818 7E7E7E7E7E7E7E7E8199BDBD99998199 7E7E7E7E7E7E7E7E81C3A59999A5C381 00000000000000000000000000000000 00000000000000000000000000000000 7E7E7E7E00000000003800003C3C1818 7E7E7E7E00000000001C00003C3C1818 7E7E7E7E00000000003C00003C3C1818 007E7E7E7E00000000003C00003C3C18 7E7E7E7E00000000000E00003C3C1818 007E7E7E7E00000000000E00003C3C18 7E7E7E7E00000000000E00003C3C1818 7E7E7E7E00000000000E00003C3C0000 7E7E7E7E00000000000000003C3C1818 007E7E7E7E00000000000000003C3C18 00000010381000000000102854281000 #3:MAIN BG 00008010000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 50040000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000005004000000000000 00000000000000000000000000000000 00005004000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000005004000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000028050000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000028050000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000006030603060300002805 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 06030603060306030000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000060306030000 00000000000000000000000000000000 000000000000000000004A0400000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000013031303130300000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 13031303130313030000000000000000 00000000000000000000000000005004 00000000000000000000000000000000 00000003000000000000000000000000 00000000000000000000000000000000 00000000000000000000130313030000 00000000000000000000000000000000 00000000000000000000060306030603 00000000000000000000000000000000 00000000000000000000000000000000 06030603060312031203120306030603 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000060306030603 12031503150312030000000000000000 50040000000000000000000000000000 00000000000000000000000000000000 00000003000300000000000000000000 00000000000000000000000000000000 00000000000006030603120315030000 00005004000000000000000000000000 00000000000000000000130313031303 00000000000000000000000000000000 00000000000000000000000000000000 13031303130312031503120313031303 00000001000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000130313031303 12031503150312030000000000000000 00040000000000000000000000000000 00000000000000000000000000005004 00000000000300030003000300030003 00030003000300030003000000000000 00000000000013031303120312030000 00000000000000000000000000004D06 00000000000000000000120312031203 06030603060300000000000000000000 00000000000000000000060306030603 12031203120312031203120312031203 00010001000000000000000000000000 00000000500400000000000000000000 00000000000000000000000000000000 00000000000050042805000000000000 00000603060306030603120312031203 12031203120312030000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000030003280500030000 00000000000000000000000000000000 06030603060312031503150312030000 00000000000000000000000006030603 00000000000000000000120315031203 13031303130300000000000000000000 00000000000000000001130313031303 12031503150312031503150312031503 00010001000000000000000000010001 0001000100014A040000000000000000 00000000000000000000000000000000 00000000000000000004000000000601 06011303130313031303150315031203 15031203120312030601060100000000 000000000000000000004A0400000000 00000000000000000000000000000000 00000000000006030603060300000000 00000000000000000000000000000000 13031303130312031203120312030000 00000000000000000000000013031303 00000000000000000000120312031203 12031203120306030603060300000000 50040000060306030603120312031203 12031203120312031203120312031203 00010001000000000000000000000000 00000603060306030001000100000000 00000000000000000000000000000000 4A040000000000000000000006011101 11012203220316032203220315031503 15032203160322031101110106010601 06010000000000000000000000000000 000000004A0400000000000000000000 00000000000013031303130300000000 00000000000000000000000000000601 15032203160322031503160322030000 00000000000000000603060312031503 00000000000100010000120315031203 15031503120313031303130300000000 00000000130313031303150312031503 15031203150312031503120315031203 00010001000000000000000000000000 00001303130313030000000000000000 00000003000300030003000300000000 00000000000000000601060111011101 11011101110111011101110111011101 11011101110111011101110111011101 11010601060106010601060100000000 00000000000000000000000000000000 00000603060312031503120300000000 00000000000000000601060106011101 11011101110111011101110111010601 06010601000000001303130312031503 00010000060106010601120312031203 12031203120312031203120306010601 06010601120312031203120312031203 12031203120312031203120312031203 00010001000000000000000000000603 06031503150315030603060300010001 00030003000000000000000000000000 00000000060106011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110106010601 06010601060100000000000000000000 00001303130312031503120300000000 00000000060106011101110111011101 11011101110111011101110111011101 11011101060106012203160315031603 06010601110111011101220315031603 15032203150316031503220311011101 11011101220315031603150316031503 22032203150316031503220316031503 06010001000300030003000300031303 13031103110311031303130300030003 00030003000300030003000300030003 06010601110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110106010601060106010000 00011203120312031203120300000601 06010601110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11010601000100030003060306031203 15031203150312031503120306030603 06030003000300030003060106010601 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111010601 06012203160322031603220306011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101060106010601130313031203 12031203120312031203120313031303 13030601060106010601110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101220315031603 15031503160316031503150316031503 22031101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101110111011101110111011101 11011101 #15:MAIN SOUND 2800303A14F45000230081BB14F27000 08006060000000002F0037FF1DF1E000 380020CB000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000