BG 1 BG COPY 0,0,20,16 TO 0,0 SPRITE.A 1,(1,,,,) SPRITE.A 2,(2,,,,) SPRITE.A 11,(1,,,,) SPRITE.A 12,(2,,,,) SPRITE 11,200,200,15 SPRITE 12,200,200,15 DIM GLOBAL DX(8) DIM GLOBAL DY(8) FOR I=1 TO 8 READ DX(I),DY(I) NEXT I DATA 0,-1, -1,-1, -1,0, -1,1, 0,1, 1,1, 1,0, 1,-1 DIM X(2),Y(2),A(2),M(2),BX(2),BY(2),BL(2),BT(2),BA(2) X(1)=2*8 Y(1)=7*8 X(2)=17*8 Y(2)=7*8 A(1)=8 A(2)=2 M(1)=0 M(2)=0 SPRITE 1,X(1),Y(1),A(1) SPRITE 2,X(2),Y(2),A(2) T1=0 MD1=0 IMOVE=0 DIM GLOBAL SCORE(2) CALL EDITSCORE(1,0) GAMEPAD 1 DO IF T1>0 THEN T1=T1-1 ELSE UD=UP(0) AND DOWN(0) IF LEFT(0) AND NOT UD THEN CALL TURNLEFT(X(1),Y(1),A(1),1,T1) IF RIGHT(0) AND NOT UD THEN CALL TURNRIGHT(X(1),Y(1),A(1),1,T1) END IF IF MD1>0 THEN MD1=MD1-1 ELSE LR=LEFT(0) AND RIGHT(0) IF UP(0) AND NOT LR THEN CALL ADJM(MD1,M(1),1) IF DOWN(0) AND NOT LR THEN CALL ADJM(MD1,M(1),-1) END IF IMOVE=(IMOVE+1) MOD 2 IF IMOVE=0 THEN CALL MOVEPLAYER(X(1),Y(1),A(1),M(1),1) END IF IF BUTTON(0,0) AND BL(1)=0 THEN BL(1)=1 BA(1)=A(1) BX(1)=X(1) BY(1)=Y(1) PLAY 0,90,1 END IF IF BL(1)>0 THEN CALL MOVEBULLET(BX(1),BY(1),BA(1),11,BL(1)) CBX=(BX(1)+4)\8 CBY=(BY(1)+4)\8 CX2=(X(2)+4)\8 CY2=(Y(2)+4)\8 IF CBX=CX2 AND CBY=CY2 THEN PLAY 1,30,6 SPRITE 2,200,200, SPRITE 11,200,200, ATTR(2,,,,) CELL CBX,CBY,13 WAIT 1 CELL CBX,CBY,14 WAIT 1 CELL CBX,CBY,0 WAIT 1 BL(1)=0 CALL EDITSCORE(1,1) END IF END IF WAIT VBL LOOP SUB EDITSCORE(P,I) BG 0 SCORE(P)=SCORE(P)+I ATTR(1,,,,) NUMBER 1,0,SCORE(1),2 ATTR(2,,,,) NUMBER 17,0,SCORE(2),2 BG 1 END SUB SUB MOVEBULLET(X,Y,A,P,B) IF B>0 THEN IF DX(A)=1 THEN CCX=7 ELSE CCX=0 IF DY(A)=1 THEN CCY=7 ELSE CCY=0 CX=X+DX(A)+CCX CY=Y+DY(A)+CCY IF CELL.C(CX\8,CY\8)=0 THEN X=CX-CCX Y=CY-CCY SPRITE P,X,Y, ELSE B=0 SPRITE P,200,200, END IF END IF END SUB SUB MOVEPLAYER(X,Y,A,M,P) IF DX(A)*M=1 THEN CCX=7 ELSE CCX=0 IF DY(A)*M=1 THEN CCY=7 ELSE CCY=0 CX=X+(DX(A)*M)+CCX CY=Y+(DY(A)*M)+CCY IF CELL.C(CX\8,CY\8)=0 THEN X=CX-CCX Y=CY-CCY SPRITE P,X,Y, END IF END SUB SUB ADJM(MD,M,D) MD=10 M=M+D IF M<-1 THEN M=-1 IF M>1 THEN M=1 END SUB SUB TURNRIGHT(X,Y,A,P,T) T=10 A=A-1 IF A<1 THEN A=8 SPRITE P,X,Y,A END SUB SUB TURNLEFT(X,Y,A,P,T) T=10 A=A+1 IF A>8 THEN A=1 SPRITE P,X,Y,A END SUB #1:MAIN PALETTES 003F2A1500302010000C0804003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 0000425A5A424200183C3C3C3C3C0000 000412391040201060F8FC7E7C381000 003E001818003E0000007CFCFC7C0000 10204010391204000010387C7EFCF860 0042425A5A42000000003C3C3C3C3C18 080402089C48200000081C3E7E3F1F06 007C001818007C0000003E3F3F3E0000 0020489C08020408061F3F7E3E1C0800 6B00D6006B00D60094FFFFFF94FFFFFF 0000281428140000007E5E6E5E6E7E00 0000182424180000007E665A7E7E7E00 0000240000240000007E5A7E7E7E7E00 00040220800204000020020480001400 20024002001008002000080204004800 0018245A5A24180000183C66663C1800 #3:MAIN BG 00001410090009000900090009000900 09000900090009000900090009000900 09000900090009000900090009000000 00000000000000000000000000000000 00000000000000000000000000000000 00000900090000000000000000000000 00000000000000000000000000000000 00000000000000000000090009000000 00000000000000000000000000000000 00000000000000000000000000000000 00000900090000000000000000000000 00000000000000000000000000000000 00000000000000000000090009000000 00000900090000000000000000000000 00000000000000000000090009000000 00000900090000000000000009000000 00000000000000000000000000000000 00000900000000000000090009000000 00000000090000000000000000000000 00000000000000000000090000000000 00000900090000000000000009000000 00000000000000000000000000000000 00000900000000000000090009000000 00000000090000000000000000000000 00000000000000000000090000000000 00000900090000000000090009000000 00000000000000000000000000000000 00000900090000000000090009000000 00000000000000000000000000000000 00000000000000000000000000000000 00000900090000000000000000000000 00000000000000000000000000000000 00000000000000000000090009000000 00000000000000000000000000000000 00000000000000000000000000000000 00000900090000000000000000000000 00000000000000000000000000000000 00000000000000000000090009000900 09000900090009000900090009000900 09000900090009000900090009000900 09000900