TOUCHSCREEN RANDOMIZE TIMER PALETTE 0,0,,, BG COPY 0,0,20,16 TO 0,0 FOR Y=0 TO 14 FOR X=0 TO 19 IF CELL.C(X,Y)>0 THEN CELL X,Y,RND(15)+32 NEXT X NEXT Y PAL 4 CELL 19,15,31 WHILE NOT TOUCH FOR Y=0 TO 14 FOR X=0 TO 19 C=CELL.C(X,Y) IF C>0 THEN ADD C,1,32 TO 47 IF C=39 AND RND(3)=0 THEN C=41 IF C=42 AND RND(7)=0 THEN C=38 IF C=33 AND RND(10)=0 THEN C=47 END IF CELL X,Y,C NEXT X NEXT Y IF RND(10)=0 THEN PLAY RND(3),RND(20),RND(30) WAIT VBL WEND PALETTE 0,2*4+2,,, CLS STOP SPRITE 1,0,0,9 FOR I=10 TO 19 SPRITE I,,,7 SPRITE I PAL 1 SPRITE I+10,,,7 SPRITE I+10 PAL 2 NEXT I 'WAS8BIT WINIT=7 A1MIN=-PI/2 A1MAX=0 A1=A1MIN DA1=0.025 A2MAX=PI*1.5 A2MIN=PI A2=A2MAX DA2=-0.025 R1=5 R2=5 GLOBAL P1SCORE,P2SCORE,BUL1,BUL2 NEWGAME: P1SCORE=0 P2SCORE=0 NEXTGAME: CLS BUL1=9 BUL2=9 RANDOMIZE TIMER WIND=RND(10)-5 DH=RND(130)+10 DX=RND(3) BG 1 PAL 0 FOR X=0 TO 160 STEP 8 Y=DH*SIN(X/30) FOR IY=15-Y\8 TO 15 CC=17 IF RND(5)=0 THEN CC=RND(1)+18 CELL X\8+2+DX,IY,CC NEXT IY NEXT X PAL 1 CELL 0,15,6 PAL 2 CELL 19,15,6 BG 0 IF WIND>0 THEN PAL 2 ELSE PAL 1 IF WIND <> 0 THEN FOR IX=0 TO WIND STEP SGN(WIND) CELL IX+10,0,8 NEXT IX END IF REDO: BG 0 PAL 0 FOR F=0 TO 10 PLAY 0,80+F,1 TEXT 7,1,"START" WAIT 2 TEXT 7,1," " WAIT 2 NEXT F PAL 1 NUMBER 0,1,P1SCORE,1 NUMBER 0,13,BUL1,1 PAL 2 NUMBER 19,1,P2SCORE,1 NUMBER 19,13,BUL2,1 PLAYER1: IF P1SCORE>WINIT THEN GOTO WIN1 IF BUL1=0 THEN GOTO PLAYER2 SPRITE 1,0,0, SPEED1: PLAY 0,90,1 WAIT 60 DR=0.5 DO R1=R1+DR IF R1<5 THEN DR=0.5 IF R1>50 THEN DR=-0.5 RSTEP=R1/10 I=10 FOR R=1 TO R1 STEP RSTEP SPRITE I,R*COS(A1),120+R*SIN(A1), INC I NEXT R IF TAP THEN GOTO AIM1 WAIT VBL LOOP AIM1: PLAY 0,90,1 WAIT 60 DO A1=A1+DA1 IF A1A1MAX THEN DA1=-ABS(DA1) RSTEP=R1/10 I=10 FOR R=1 TO R1 STEP RSTEP SPRITE I,R*COS(A1),120+R*SIN(A1), INC I NEXT R IF TAP THEN GOTO FIRE1 WAIT VBL LOOP FIRE1: BG 0 DEC BUL1 PAL 1 NUMBER 0,13,BUL1,1 X=0 Y=120 SPRITE 0,X,Y,2 DX=COS(A1)*R/25 DY=SIN(A1)*R/25 W=WIND/1000 DO DX=DX+W DY=DY+0.01 X=X+DX Y=Y+DY SPRITE 0,X,Y, WAIT VBL CALL DOBLAST(X,Y,1) IF P1SCORE>WINIT THEN GOTO WIN1 IF X=-999 THEN GOTO NEXTGAME IF X<-10 OR X>160 OR Y<-80 OR Y>126 THEN GOTO PLAYER2 LOOP PLAYER2: SPRITE 1,152,0, SPEED2: IF BUL2=0 THEN IF BUL1>0 THEN GOTO PLAYER2 ELSE INC P1SCORE INC P2SCORE BUL1=9 BUL2=9 GOTO REDO END IF END IF PLAY 0,90,1 WAIT 60 DR=0.5 DO R2=R2+DR IF R2<5 THEN DR=0.5 IF R2>50 THEN DR=-0.5 RSTEP=R2/10 I=20 FOR R=1 TO R2 STEP RSTEP SPRITE I,152+R*COS(A2),120+R*SIN(A2), INC I NEXT R IF TAP THEN GOTO AIM2 WAIT VBL LOOP AIM2: PLAY 0,90,1 WAIT 60 DO A2=A2+DA2 IF A2A2MAX THEN DA2=-ABS(DA2) RSTEP=R2/10 I=20 FOR R=1 TO R2 STEP RSTEP SPRITE I,152+R*COS(A2),120+R*SIN(A2), INC I NEXT R IF TAP THEN GOTO FIRE2 WAIT VBL LOOP FIRE2: BG 0 DEC BUL2 PAL 2 NUMBER 19,13,BUL2,1 X=152 Y=120 SPRITE 0,X,Y,2 DX=COS(A2)*R/25 DY=SIN(A2)*R/25 W=WIND/1000 DO DX=DX+W DY=DY+0.01 X=X+DX Y=Y+DY SPRITE 0,X,Y, WAIT VBL CALL DOBLAST(X,Y,2) IF X=-999 THEN GOTO NEXTGAME IF X<-10 OR X>160 OR Y<-80 OR Y>126 THEN GOTO PLAYER1 LOOP SUB DOBLAST(X,Y,P) BG 1 XX=(X+4)\8 YY=(Y+4)\8 C=CELL.C(XX,YY) A=CELL.A(XX,YY) IF C>16 THEN BG 0 IF P=1 THEN IF BUL1>0 THEN DEC BUL1 ELSE IF BUL2>0 THEN DEC BUL2 END IF BG 1 PLAY 1,80,1 SPRITE 0,,,3 WAIT 5 PLAY 1,81,1 SPRITE 0,,,4 WAIT 5 PLAY 1,82,1 SPRITE 0,,,5 WAIT 5 CELL XX,YY,0 X=-20 SPRITE 0,,,0 IF C>17 THEN IF P=1 THEN INC BUL1 ELSE INC BUL2 END IF IF C=18 THEN PAL 0 FOR BY=15 TO 0 STEP -1 BC=CELL.C(XX,BY) IF BC>16 THEN CELL XX,BY,16 PLAY 1,30,1 WAIT 5 CELL XX,BY,0 FOR GETX=XX TO 0 STEP -1 GG=CELL.C(GETX-1,BY) IF GG>16 THEN CELL GETX,BY,GG CELL GETX-1,BY,0 END IF NEXT GETX FOR GETX=XX TO 19 GG=CELL.C(GETX+1,BY) IF GG>16 THEN CELL GETX,BY,GG CELL GETX+1,BY,0 END IF NEXT GETX END IF NEXT BY ELSE IF C=19 THEN PAL 0 FOR BX=0 TO 19 BB=CELL.C(BX,YY) IF BB>16 THEN CELL BX,YY,16 PLAY 1,30,1 WAIT 5 CELL BX,YY,0 END IF FOR GETY=YY TO 0 STEP -1 GG=CELL.C(BX,GETY-1) IF GG>16 THEN CELL BX,GETY,GG CELL BX,GETY-1,0 END IF NEXT GETY NEXT BX END IF END IF IF C=6 AND A<>P THEN PLAY 2,90,90 WAIT 90 IF P=1 THEN IF P1SCORE<9 THEN ADD P1SCORE,2,0 TO 10 ELSE INC P1SCORE ELSE IF P2SCORE<9 THEN ADD P2SCORE,2,0 TO 10 ELSE INC P2SCORE END IF X=-999 SPRITE 0,,,0 END IF BG 0 PAL 1 NUMBER 0,1,P1SCORE,1 NUMBER 0,13,BUL1,1 PAL 2 NUMBER 19,1,P2SCORE,1 NUMBER 19,13,BUL2,1 BG 1 END SUB WIN1: WX=0 GOTO WIN WIN2: WX=17 WIN: BG 0 PAL 0 FOR F=0 TO 30 PLAY 0,60+F,1 TEXT WX,0,"WIN" WAIT 2 TEXT WX,0," " WAIT 2 NEXT F TEXT WX,0,"WIN" WAIT 30 WHILE NOT TOUCH WAIT VBL WEND GOTO NEWGAME #1:MAIN PALETTES 0A3F2F240038380000232300003F3C00 00351020003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 3C7EFFFFFFFF7E3C3C7EFFFFFFFF7E3C 00000018180000000000000000000000 00002400002400000000000000000000 00420000000042000000000000000000 81000000000000810000000000000000 000000000000000000183C7E7EFFFFFF 00000000000000000000001818000000 00000055000000000000000000000000 00000002042810000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 81422418182442810000000000000000 3C7EFFFFFFFF7E3C3C7EFFFFFFFF7E3C 3C7EFFFFFFFF7E3C3476F7E7E7EF6E2C 3C7EFFFFFFFF7E3C3C7EFFE007FF7E3C 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 8AAD527552C76AEA0205020502472A6A 0000000000000000FFFFFFFFFFFFFFFF 0000183C3C1800000000182424180000 00247E3C3C7E240000245A24245A2400 42E77E3C3C7EE74242A55A24245AA542 C3E77E3C3C7EE7C342A55A24245AA542 C3FF7E7E7E7EFFC342BD42424242BD42 FFFFFFFFFFFFFFFF7E8181818181817E FFFFFFFFFFFFFFFF0000000000000000 FFFFFFFFFFFFFFFF7E8181818181817E FFFFFFFFFFFFFFFF0000000000000000 FFFFFFFFFFFFFFFF7E8181818181817E C3FF7E7E7E7EFFC342BD42424242BD42 C3E77E3C3C7EE7C342A55A24245AA542 42E77E3C3C7EE74242A55A24245AA542 00247E3C3C7E240000245A24245A2400 0000183C3C1800000000182424180000 #3:MAIN BG 00001410000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000040000 00040004000000000000000000000000 00000000000020042004000400042004 00040004000420040004000400042004 20040000200420042004000000002004 00002004000420040004000420040004 20040004200400000000000000002004 00000000000020040000200400042004 00040004200400042004000420040000 00000000000020040000000000002004 20040004000420040004000420042004 20040004200420040004000000002004 00000000000020040000200400042004 00040004200400042004000000000000 20040000000020040000000000002004 00002004000420040004000420040004 20040000000000002004000000002004 00000000000020042004000400042004 20040004200400042004000020042004 00040000000020040000000000000000 00000004000000000004000000000000 00000000000000040000000000000000 00000000000000040004000400042004 20042004000400000000200400000004 20040000000000000000000000000004 00040004000400040000000020040000 00002004000000042004000000000000 00000000000000040004000400040004 20042004000400000000200400000004 20040000000000000000000000000004 00040004000420040004000400040004 00000000000000040000000000000000 00000000000000040004000400042004 20042004200400000000200400000004 20040000000000040000000000000004 00040004000000000000000000000000 00000000000000000000000000000000 00000000