RANDOMIZE TIMER REM WASHAW GAMES GAMEPAD 1 DIM GLOBAL XDIR(3) DIM GLOBAL YDIR(3) FOR I=0 TO 3 READ XDIR(I) READ YDIR(I) NEXT I DATA 0,-1,1,0,0,1,-1,0 RANDOMIZE TIMER ATTR(0,,,,) FOR IY=0 TO 12 STEP 4 FOR IX=0 TO 16 STEP 4 CELL IX,IY,1 IF INT(RND*2)=0 THEN FOR I=1 TO 3 CELL IX+I,IY,1 NEXT I ELSE FOR I=1 TO 3 CELL IX,IY+I,1 NEXT I END IF NEXT IX NEXT IY PX=10 PY=6 PD=0 PW=0 ATTR(1,,,,) CELL PX,PY,2 ATTR(2,,,,) CALL PUTIT(18) CALL PUTIT(22) CALL PUTIT(26) DO CALL DOPLAYER(PX,PY,PD,PW) FOR IY=0 TO 16 FOR IX=0 TO 19 C=CELL.C(IX,IY) A=CELL.A(IX,IY) IF C>=18 AND C<=29 THEN CALL DOCOMPUTER(IX,IY,C,A) IF C>=6 AND C<=9 THEN CALL DOBULLETS(IX,IY,C) IF C>=10 AND C<=13 THEN CALL DOBULLETS2(IX,IY,C) NEXT IX NEXT IY WAIT VBL LOOP SUB PUTIT(C) CC=C WHILE CC=C X=INT(RND*20) Y=INT(RND*16) CH=CELL.C(X,Y) IF CH=0 THEN CELL X,Y,C CC=0 END IF WEND END SUB SUB DOPLAYER(X,Y,D,W) W=(W+1) MOD 5 IF W=0 THEN DD=9 IF BUTTON(0,0) THEN CX=X+XDIR(D) CY=Y+YDIR(D) CALL WRAPAROUND(CX,CY) CC=CELL.C(CX,CY) IF CC=0 THEN CELL CX,CY,6+D END IF END IF IF LEFT(0) THEN DD=3 IF DOWN(0) THEN DD=2 IF RIGHT(0) THEN DD=1 IF UP(0) THEN DD=0 IF DD<9 THEN D=DD CX=X+XDIR(D) CY=Y+YDIR(D) CALL WRAPAROUND(CX,CY) IF CELL.C(CX,CY)=0 THEN CELL X,Y,0 X=CX Y=CY ATTR(1,,,,) CELL X,Y,2+D END IF END IF END IF END SUB SUB WRAPAROUND(X,Y) IF X<0 THEN X=19 IF X>19 THEN X=0 IF Y<0 THEN Y=15 IF Y>15 THEN Y=0 END SUB SUB DOBULLETS(X,Y,C) D=C-6 IF INT(RND*10)=0 THEN CELL X,Y,0 ATTR(1,,,,) CX=X+XDIR(D) CY=Y+YDIR(D) CALL WRAPAROUND(CX,CY) CC=CELL.C(CX,CY) IF CC=0 THEN CELL CX,CY,C ELSE IF (CC>=18 AND CC<=29) THEN CELL CX,CY,0 END IF END IF END SUB SUB DOBULLETS2(X,Y,C) D=C-10 IF INT(RND*10)=0 THEN CELL X,Y,0 ATTR(1,,,,) CX=X+XDIR(D) CY=Y+YDIR(D) CALL WRAPAROUND(CX,CY) CC=CELL.C(CX,CY) IF CC=0 THEN CELL CX,CY,C ELSE IF (CC>=2 AND CC<=5) THEN CELL CX,CY,0 END END IF END IF END SUB SUB DOCOMPUTER(X,Y,C,A) IF C<22 THEN CB=18 ELSE IF C<26 THEN CB=22 ELSE CB=26 D=C-CB IF INT(RND*30)=0 THEN CX=X+XDIR(D) CY=Y+YDIR(D) CALL WRAPAROUND(CX,CY) CC=CELL.C(CX,CY) IF CC=0 THEN CELL CX,CY,10+D END IF END IF IF INT(RND*10)=0 THEN IF INT(RND*10)=0 THEN D=D+INT(RND*3)-1 IF D>3 THEN D=0 IF D=-1 THEN D=3 END IF CX=X+XDIR(D) CY=Y+YDIR(D) CALL WRAPAROUND(CX,CY) IF CELL.C(CX,CY)=0 THEN CELL X,Y,0 X=CX Y=CY ATTR A CELL X,Y,CB+D ELSE D=D+INT(RND*3)-1 IF D>3 THEN D=0 IF D=-1 THEN D=3 ATTR A CELL X,Y,CB+D END IF END IF END SUB #1:MAIN PALETTES 031B1707003F2A1A003C3000003F3C00 0030253F000C193F0003163F0033263F #2:MAIN CHARACTERS 00000000000000000000000000000000 BD42BDBDBDBD42BDFFBDC3C3C3C3BDFF 1818183C5A180000000081A5C3818181 0010083F3F081000FC100800000810FC 0000185A3C181818818181C3A5810000 000810FEFE1008003F0810000010083F 00001824000000000000000000000000 00000804040800000000000000000000 00000000241800000000000000000000 00001020201000000000000000000000 00001028000000000000000000000000 00000804080000000000000000000000 00000000140800000000000000000000 00000010201000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0816199E79986810485050BE7D0A0A14 181818183C66C3810000000000000000 C060301F1F3060C00000000000000000 81C3663C181818180000000000000000 03060CF8F80C06030000000000000000 0000000000000000181818183C66C381 0000000000000000C060301F1F3060C0 000000000000000081C3663C18181818 000000000000000003060CF8F80C0603 181818183C66C381181818183C66C381 C060301F1F3060C0C060301F1F3060C0 81C3663C1818181881C3663C18181818 03060CF8F80C060303060CF8F80C0603