GAMEPAD 1 REM WAS8BIT RANDOMIZE TIMER A=PI/4 DIM GLOBAL XDIR(8) DIM GLOBAL YDIR(8) FOR I=1 TO 8 READ XDIR(I),YDIR(I) NEXT I DATA 0,-1, 1,-1, 1,0, 1,1, 0,1, -1,1, -1,0, -1,-1 PAUSE OFF RESET: PX=80 PY=64 PD=1 PS=1 A1=INT(RND*8) SPRITE 0,80,64,32 SPRITE.A 0,(A1,,,,1) SPRITE 10,,,1 SPRITE.A 10,(A1) BP=0 CX=8 CY=64 CD=1 CS=1 A2=INT(RND*8) SPRITE 1,8,64,32 SPRITE.A 1,(A2,,,,1) SPRITE 11,,,1 SPRITE.A 11,(A2) BC=0 DO REM PLAYER IF RIGHT TAP(0) THEN CALL DOADD(PD,1,1,8) IF LEFT TAP(0) THEN CALL DOADD(PD,-1,1,8) IF UP TAP(0) THEN CALL DOADD2(PS,0.2,0.2,1.4) IF DOWN TAP(0) THEN CALL DOADD2(PS,-0.2,0.2,1.4) CALL XYWRAP(PX,PY,XDIR(PD)*PS,YDIR(PD)*PS,8) SPRITE 0,PX,PY,30+(PD*2) IF BUTTON(0,0) AND BP=0 THEN BXP=PX+12*XDIR(PD)+4 BYP=PY+12*YDIR(PD)+4 BMXP=XDIR(PD)*2 BMYP=YDIR(PD)*2 BP=100 END IF REM COMPUTER IF INT(RND*1000)=0 THEN CALL DOADD(CD,1,1,8) IF INT(RND*1000)=0 THEN CALL DOADD(CD,-1,1,8) IF INT(RND*10000)=0 THEN CALL DOADD2(CS,0.2,0.2,1.4) IF INT(RND*10000)=0 THEN CALL DOADD2(CS,-0.2,0.2,1.4) CALL XYWRAP(CX,CY,XDIR(CD)*CS,YDIR(CD)*CS,8) SPRITE 1,CX,CY,30+(CD*2) IF INT(RND*100)=0 AND BC=0 THEN BXC=CX+12*XDIR(CD)+4 BYC=CY+12*YDIR(CD)+4 BMXC=XDIR(CD)*2 BMYC=YDIR(CD)*2 BC=100 END IF IF BP>1 THEN CALL XYWRAP(BXP,BYP,BMXP,BMYP,8) SPRITE 10,BXP,BYP, BP=BP-1 ELSE IF BP=1 THEN SPRITE 10,-10,-10, BP=0 END IF IF BC>1 THEN CALL XYWRAP(BXC,BYC,BMXC,BMYC,8) SPRITE 11,BXC,BYC, BC=BC-1 ELSE IF BC=1 THEN SPRITE 11,-10,-10, BC=0 END IF IF PAUSE THEN GOTO RESET WAIT VBL LOOP SUB DOADD(V,A,B,T) V=V+A IF VT THEN V=B END SUB SUB DOADD2(V,A,B,T) V=V+A IF VT THEN V=T END SUB SUB XYWRAP(X,Y,DX,DY,F) XMAX=8*20 YMAX=8*16 X=X+DX Y=Y+DY IF X<0-F THEN X=XMAX IF X>XMAX+F THEN X=0-F IF Y<0-F THEN Y=YMAX IF Y>YMAX+F THEN Y=0-F END SUB #1:MAIN PALETTES 0030152000383F24003C1528000C3F08 000F150A00173F030033152200233F12 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000018180000000000182424180000 3C7EC300541020000000004244382050 3C7EC3002A08040000000042221C040A 010202020242BE80010202020242BE80 C040202028343404C040202028343404 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 80BE42020202020180BE420202020201 04343428202040C004343428202040C0 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000700003FFF0000000701110000 000000E00000FCFF000000E080880000 000020383C1E0F070000040000000000 0000402010080480000040201068E440 000101010101414100000000000000BE 8080C0C0C0C8C8C80000002000080838 0008102040000001002060181C0E0702 00001C3878F0E0C00000000000040000 000300000000007F0100010101010100 00C00000000000FE8000808080808000 0000381C1E0F07030000000000200000 0010080402000080000406183870E040 0101030303131313000000040010101C 0080808080808282000000000000007D 00000204081020010000020408162702 0000041C3C78F0E00000200000000000 7F010000000003000001010101010001 FE8000000000C0000080808080800080 030000402010080002070E1C18602000 C0E0F078381C00000000040000000000 4141010101010100BE00000000000000 C8C8C8C0C0C080803808080020000000 070F1E3C382000000000000000040000 C00408102040000040E4681020400000 FF3F0100070000000000110107000000 FFFC8000E000000000008880E0000000 03201008040200000227160804020000 E0F0783C1C0400000000000000200000 13131303030301011C10100004000000 82828080808080007D00000000000000 03070F1E1C3800000000200000000000 C00000020408100040E0703818060400