GAMEPAD 1 REM WASHAW GAMES REM SPACESHIP BY EMERALD DERP LEADER BG 1 FOR IY=0 TO 31 FOR IX=0 TO 31 ATTR(INT(RND*3),INT(RND*2),INT(RND*2),0,0) CELL IX,IY,INT(RND*12)+1 NEXT IX NEXT IY BG 0 DIM GLOBAL CRASH(11) FOR I=0 TO 11 READ CRASH(I) NEXT I DATA 141,142,157,158,172,173,174,175,188,189,190,191 DIM GLOBAL XSTAR(30) DIM GLOBAL YSTAR(30) DIM GLOBAL CSTAR(30) FOR I=1 TO 30 XSTAR(I)=RND*160 YSTAR(I)=(RND*130)-8 CSTAR(I)=INT(RND*3)+13 NEXT I GLOBAL IANI GLOBAL WANI GOSUB RESET_PLAYER DIM GLOBAL ANICELL(9) FOR I=0 TO 9 READ ANICELL(I) NEXT I DATA 88,90,92,94,94,92,90,88,122,122 GLOBAL IANICELL IANICELL=0 SPRITE 1,200,200,72 SPRITE 2,200,200,72 SPRITE.A 1,(1,,,,) SPRITE.A 2,(1,,,,) GLOBAL WFIRE WFIRE=0 GLOBAL IFIRE IFIRE=0 GLOBAL YFIRE GLOBAL XFIRE YFIRE=-20 XFIRE=-20 SPRITE 3,200,200,128 SPRITE.A 3,(7,,,,3) GLOBAL WSHIELD WSHIELD=0 GLOBAL ISHIELD ISHIELD=0 GLOBAL YSHIELD GLOBAL XSHIELD YSHIELD=-30 DIM ALIEN(3) DIM BONUS(3) ISCORE=0 ILEVEL=0 ALIEN(0)=16 ALIEN(1)=8 ALIEN(2)=4 ALIEN(3)=2 ATTR(7,0,,,) TEXT 7,3,"SUPER" TEXT 7,5,"SPACE" TEXT 5,7,"INVADERS" TEXT 6,9,"ARCADE" MUSIC WAIT 60*4 CLS 0 ATTR(6,1,0,0,0) TEXT 0,0,"! WON NOISAVNI NIGEB" RANDOMIZE 314 FOR I=1 TO 10 DUR=INT(RND*10)+1 PLAY 0,INT(RND*25)+5,DUR SOUND 3 WAIT DUR*2 NEXT I WAIT 60 CLS 0 PLAY 3,10,100 SOUND 3 TEXT 5,0,"! KCATTA" WAIT 120 CLS 0 DIM EX(10),EY(10),DEX(10),DEY(10) DIM GLOBAL ET(10) DIM BX(10),BY(10),BT(10) RANDOMIZE TIMER ISCROLL=0 IHIT=0 IEND=0 ILIVES=8 CALL SHOWLIVES(ILIVES) DO REM ALIEN SPAWN ...... IF INT(RND*100)=0 THEN FOR I=1 TO 10 IF ET(I)=0 THEN FOR II=0 TO 3 IALIEN=II IF ALIEN(II)>0 THEN ALIEN(II)=ALIEN(II)-1 II=4 END IF IF II=3 AND ALIEN(3)=0 THEN IEND=1 NEXT II IF IEND=0 THEN ET(I)=34+IALIEN EX(I)=RND*160 EY(I)=0 DEX(I)=(RND-RND) DEY(I)=RND/20 SI=80-(IALIEN*10) PLAY 2,SI+I,5 SOUND 4+IALIEN SPRITE 9+I,EX(I),EY(I),ET(I) SPRITE.A 9+I,(6,,,,) END IF I=10 END IF NEXT I END IF REM MOVE ALIENS AND THEIR BULLETS..... FOR I=1 TO 10 IF ET(I)>0 THEN EX(I)=EX(I)+DEX(I) EY(I)=EY(I)+DEY(I) IF EX(I)<=0 THEN DEX(I)=ABS(DEX(I)) IF (EX(I)+8)>=160 THEN DEX(I)=-ABS(DEX(I)) SPRITE 9+I,EX(I),EY(I), IF INT(RND*150)=0 THEN GOSUB FIRE END IF IF BY(I)>0 THEN BS=(BT(I)-17)/4 BY(I)=BY(I)+BS+1 SPRITE I+19,BX(I),BY(I), IF BY(I)>140 THEN BY(I)=-20 IF SPRITE HIT ( (I+19),3 ) THEN BY(I)=-20 SPRITE I+19,BX(I),-20, END IF END IF NEXT I REM SCROLL STARS ....... WASHIP=(WASHIP+1) MOD 10 IF WASHIP=0 THEN CALL ANISHIP IWAIT=(IWAIT+1) MOD 3 IF IWAIT=0 THEN ISCROLL=(ISCROLL +1 ) MOD (32*8) SCROLL 1,0,-ISCROLL END IF FOR I=1 TO 30 CALL SCROLLSTAR(YSTAR(I)) SPRITE I+30,XSTAR(I),YSTAR(I),CSTAR(I) NEXT I IF IHIT=0 THEN REM ============= PLAYER CONTROLS..... IF RIGHT(0) THEN CALL MOVESHIP(SX,SY,1,0) IF LEFT(0) THEN CALL MOVESHIP(SX,SY,-1,0) IF UP(0) THEN CALL MOVESHIP(SX,SY,0,-1) IF DOWN(0) THEN CALL MOVESHIP(SX,SY,0,1) IF NOT DOWN(0) AND NOT UP(0) AND NOT LEFT(0) AND NOT RIGHT(0) THEN CALL POWERDOWN IF BUTTON(0,0) AND YFIRE<0 THEN YFIRE=SY-8 XFIRE=SX PLAY 0,60,20 SOUND 0 END IF IF BUTTON(0,1) THEN XSHIELD=SX YSHIELD=SY-8 CALL ANISHIELD ELSE IF YSHIELD>0 THEN YSHIELD=-20 CALL ANISHIELD END IF END IF REM ============= END IF REM HANDLE PLAYER BULLETS.... IF YFIRE>-20 THEN CALL ANIFIRE REM TEXT DISPLAYS ........ ATTR(0,,,1,) TEXT 0,14,"LVL " NUMBER 4,14,ILEVEL,1 TEXT 6,14,"SCORE " NUMBER 12,14,ISCORE,8 REM PLAYER HIT...... IF SPRITE HIT (0,10 TO 29) THEN IF HIT<20 THEN HH=HIT-9 ET(HH)=0 EY(HH)=-20 SPRITE HIT,EX(HH),EY(HH), ELSE HH=HIT-19 BY(HH)=-20 SPRITE HIT,,-20, END IF PLAY 0,60,60 SOUND 8 PLAY 1,20,60 SOUND 8 IHIT=150 FOR I=0 TO 9 SPRITE I,,200, NEXT I SPRITE 9,SX,SY,140 SPRITE.A 9,(1,,,,3) WAIT 10 END IF REM RECOVER PLAYER...... IF IHIT>0 THEN IF ILIVES<0 THEN GOTO GAMEOVER IF IHIT=2 THEN ILIVES=ILIVES-1 CALL SHOWLIVES(ILIVES) END IF IF IHIT=25 THEN SPRITE 9,,200, IHIT=IHIT-1 CALL ANICRASH IF IHIT=0 THEN FOR II=1 TO 10 SPRITE II+19,,-20, BX(II)=-20 NEXT II PLAY 0,40,60 SOUND 6 GOSUB RESET_PLAYER END IF END IF IF IEND=1 THEN ICHECK=0 FOR II=1 TO 10 ICHECK=ICHECK+ET(II) NEXT II IF ICHECK=0 THEN PRINT "CLEAR" ATTR(7,0,,,) TEXT 5,3,"========" TEXT 5,5," NEXT " TEXT 5,7," LEVEL: " TEXT 5,9,"========" MUSIC WAIT 60*4 END END IF END IF WAIT VBL LOOP GAMEOVER: PRINT "GAME OVER" END SUB SHOWLIVES(I) ATTR(3,,,,) FOR X=19 TO 12 STEP -1 CH=20-X IF I>=CH THEN CELL X,15,127 ELSE CELL X,15,0 NEXT X END SUB SUB ANICRASH FOR I=0 TO 11 C=70+INT(RND*10) D=CRASH(I) COPY $8000+C*16,16 TO $8000+D*16 NEXT I END SUB RESET_PLAYER: SX=60 SY=90 SPRITE 0,SX,SY,64 SPRITE.A 0,(3,,,,3) IANI=0 WANI=0 SPRITE 4,SX,SY,68 SPRITE.A 4,(4,,,,3) SPRITE 5,SX+8,SY,104 SPRITE.A 5,(5,,,,1) RETURN FIRE: FOR II=1 TO 10 IF BY(II)<=0 THEN BY(II)=EY(I)+8 BX(II)=EX(I) BT(II)=ET(I)-16 SPRITE 19+II,BX(II),BY(II),BT(II) SPRITE.A 19+II,(6,,,,) II=10 END IF NEXT II RETURN SUB ANISHIELD WSHIELD=(WSHIELD+1) MOD 8 IF WSHIELD=0 THEN ISHIELD=(ISHIELD+1) MOD 3 PLAY 0,50,3 SOUND 1 END IF SPRITE 3,XSHIELD,YSHIELD,128+(4*ISHIELD) END SUB SUB ANIFIRE WFIRE=(WFIRE+1) MOD 3 IF WFIRE=0 THEN IFIRE=(IFIRE+1) MOD 4 SPRITE 1,XFIRE+1,YFIRE+5,72+IFIRE SPRITE 2,XFIRE+22,YFIRE+5,72+IFIRE YFIRE=YFIRE-2 IF SPRITE HIT(1) THEN IF HIT<20 THEN YFIRE=-20 SPRITE 1,,-20, SPRITE 2,,-20, ET(HIT-9)=0 SPRITE HIT,,,0 END IF ELSE IF SPRITE HIT(2) THEN IF HIT<20 THEN YFIRE=-20 SPRITE 1,,-20, SPRITE 2,,-20, ET(HIT-9)=0 SPRITE HIT,,,0 END IF END IF END SUB SUB MOVESHIP(X,Y,DX,DY) CALL POWERUP MX=X+DX MY=Y+DY IF DX>0 AND MX<=160-32 THEN X=MX IF DX<0 AND MX>=0 THEN X=MX IF DY>0 AND MY<=120-24 THEN Y=MY IF DY<0 AND MY>=0 THEN Y=MY SPRITE 0,X,Y, SPRITE 4,X,Y, SPRITE 5,X+8,Y, END SUB SUB POWERUP PLAY 1,10,10 SOUND 2 WANI=WANI+1 IF WANI>100 THEN WANI=100 RED=WANI\25 IF RED<0 THEN RED=0 IF RED>3 THEN RED=3 ATTR(7,0,0,0,0) PALETTE 4,,,,16*RED+4*RED END SUB SUB POWERDOWN WANI=WANI-1 IF WANI<0 THEN WANI=0 RED=WANI\25 IF RED<0 THEN RED=0 IF RED>3 THEN RED=3 ATTR(7,0,0,0,0) PALETTE 4,,,,16*RED+4*RED END SUB SUB SCROLLSTAR(Y) Y=Y+0.5 IF Y>128 THEN Y=-8 END SUB SUB ANISHIP COPY $8000+(ANICELL(IANICELL)*16),32 TO $8000+(120*16) IANICELL=(IANICELL+1) MOD 10 END SUB #1:MAIN PALETTES 001B06020006063000020000003F3815 00051600003C2814000C0804003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 40000000000000000000000000000000 00400000000000000000000000000000 00004000000000000000000000000000 00000040000000000000000000000000 20000000000000000000000000000000 00200000000000000000000000000000 00002000000000000000000000000000 00000020000000000000000000000000 10000000000000000000000000000000 00100000000000000000000000000000 00001000000000000000000000000000 00000010000000000000000000000000 00420018180042000042240000244200 0018245A5A24180000183C66663C1800 00100054001000000010106C10100000 00000000000000000000000000000000 00000000000000000000000000000000 00000000180018000000000018180000 00000066006666000000006666000000 005A5A00005A5A00005A5A5A5A000000 DBDBDB000000DBDBDBDBDBDBDBDB0000 33CC33CC33CC33CCFFFFFFFFFFFFCC33 33CC33CC33CC3300FFFFFFFFFF33CC00 33CC33CC33CC0000FFFFFFFFCC330000 33CC33CC33000000FFFFFF33CC000000 33CC33CC00000000FFFFFF3300000000 33CC330000000000FFFFCC0000000000 33CC000000000000FF33000000000000 3300000000000000CC00000000000000 815A245A5A245A810000183C3C180000 99000099990000990066661818666600 00000000000000000000000000000000 00000000000000000000000000000000 3C7EFFE7A5815A3C0000003C7E7E3C00 003C7E66425A3C000000003C3C3C0000 00003C7E663C0000000000003C000000 0000183C3C1800000000000018000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 143A7DFE7D3A14000C06030103060C00 002C76FB762C0000001C0E070E1C0000 00004CE64C00000000003C1E3C000000 00000047000000000000003F00000000 18244200004224180000000000000000 18244280804224180000000000000000 182442C0C04224180000000000000000 182462E0E06224180000000000000000 183472F0F07234180000000000000000 183C7AF8F87A3C180000000000000000 183C7EFCFC7E3C180000000000000000 183C7EFEFE7E3C180000000000000000 183C7EFFFF7E3C180000000000000000 18244200004224180000000000000000 00000000000000000000000000000000 03070707000707070001020007000000 C0E0E0E000E0E0E000804000E0000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00002410082400000000241008240000 00000820041000000000082004100000 00002408102400000000240810240000 00001004200800000000100420080000 0008144A211420140008144A21142014 24082085128408242408208512840824 140821144A812408140821144A812408 200A100451AA0014200A100451AA0014 00000000000000000000000000000000 07070F1F3F7F7FFF0000000000010180 E0E0F0F8FCFEFEFF0000000000808001 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 070F1F3F3F7F7FFF0000000040010180 E0F0F8FCFCFEFEFF0000000002808001 070F1F1F7F7F7FFF0000002000010180 E0F0F8F8FEFEFEFF0000000400808001 070F0F3F7F7F7FFF0000100000010180 E0F0F0FCFEFEFEFF0000080000808001 07071F3F7F7F7FFF0008000000010180 E0E0F8FCFEFEFEFF0010000000808001 3C7E7E7E7E7E6F6F0000000000000000 FFFF7F7F7F7FF0E08080000000000F1F FFFFFEFEFEFE0F07010100000000F0F8 3C7E7E7E7E7EF6F60000000000000000 3C7E7E7E7E7E7F7F0000000000001010 00000000000000000000000000000000 00000000000000000000000000000000 3C7E7E7E7E7EFEFE0000000000000808 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 6F7E00007E7E420000007E7E00000000 C70F1F3F1F1F0F063870200003040000 E3F0F8FCF8F8F0601C0E0400C0200000 F67E00007E7E420000007E7E00000000 7F7E00007E7E7EFF10007E7E00003CFF 00000000000000000000000000000000 00000000000000000000000000000000 FE7E00007E7E7EFF08007E7E00003CFF 070F1F3F7F7F7FFF0000000000010180 E0F0F8FCFEFEFEFF0000000000808001 070F1F3F7F7F7FFF0000000000010180 E0F0F8FCFEFEFEFF0000000000808001 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 180018BDA57EBD990018000018811800 00000000077880010000000007788001 00001FE0000007F800001FE0000007F8 0000F8070000FC030000F8070000FC03 00000000F00C03C000000000F00C03C0 0000000000000000000000077880010E 0000000000000000001FE0000007FC00 000000000000000000F8070000FC0300 0000000000000000000000F00C03C030 0000077880010E700000000000000000 1FE0000007F800000000000000000000 F8070000FC0300000000000000000000 0000F00C03C0300C0000000000000000 00000000000000000000000000000000 24082085128408242408208512840824 0008144A211420140008144A21142014 00000000000000000000000000000000 0E30C000000000000E30C00000000000 00000000000000000000000000000000 00000000000000000000000000000000 300C030000000000300C030000000000 00000000000000007080000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000C03000000000000 80000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 03000000000000000000000000000000 00000000000000000000000000000000 200A100451AA0014200A100451AA0014 00002410082400000000241008240000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 200A100451AA0014200A100451AA0014 0008144A211420140008144A21142014 24082085128408242408208512840824 200A100451AA0014200A100451AA0014 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 24082085128408242408208512840824 24082085128408242408208512840824 200A100451AA0014200A100451AA0014 0008144A211420140008144A21142014 #3:MAIN BG 00001410000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000 #15:MAIN SOUND 2C00303A14E65000080084AA05FB0000 380067BB060000002500315F19F7C000 180025CC005F2A00080044CA15BF0B00 2300000F10F4D0002C00D1571CCCE000 380000CC000000000800005500000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 00404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 399F000000000000003E9F0000000000 0000399F00000000000000439F000000 00000000429F00000000000000409F00 000000000000399F0000000000000000 0000000000000000000000FF00000000 00000000000000000000000000000000