REM GOTO SKIPINTRO REM NEEDED STUFF === GLOBAL MADD GLOBAL RLEN MADD=ROM(14) RLEN=SIZE(14) REM================= ATTR(1,,,,) FOR IX=0 TO 19 CELL IX,7,221 CELL IX,0,221 NEXT IX TEXT 0,9,"(TAP TO SCROLL TEXT)" T$="" FOR I=0 TO (RLEN\20)-6 FOR IY=0 TO 5 CALL GETMESSAGE(IY+I,T$) TEXT 0,IY+1,T$ NEXT IY WHILE NOT TOUCH WAIT VBL WEND PLAY 0,10,1 WAIT 10 NEXT I PLAY 0,40,15 TEXT 0,9,"(END OF THE TEXT) " REM NEEDED STUFF ====== SUB GETMESSAGE(MNUM,MTEXT$) MTEXT$="" FOR IX=0 TO 19 MTEXT$=MTEXT$+CHR$(PEEK(MADD+(MNUM*20)+IX)+32) NEXT IX END SUB REM ==================== SKIPINTRO: ATTR(0,,,,) RANDOMIZE TIMER REM WASHAW GAMES GAMEPAD 1 SOUND 3,3,, X=0 Y=0 DIM EX(9),EY(9),ES(9),EDX(9),EDY(9) EI=0 GLOBAL PS PS=1 REDO: CLS FOR I=1 TO 50 CELL INT(RND*20),INT(RND*16),5 NEXT I FOR I=1 TO 10 CALL FINDEMPTY(X,Y) CELL X,Y,6 NEXT I FOR I=1 TO 5 CALL FINDEMPTY(X,Y) CELL X,Y,7 NEXT I PX=0 PY=0 CALL FINDEMPTY(PX,PY) CELL PX,PY,1 FOR I=0 TO 9 CALL FINDEMPTY(EX(I),EY(I)) ES(I)=1 CELL EX(I),EY(I),2+ES(I) NEXT I DO IPM=(IPM+1) MOD 15 IF IPM=0 THEN DX=0 DY=0 IF RIGHT(0) THEN DX=1 IF LEFT(0) THEN DX=-1 IF UP(0) THEN DY=-1 IF DOWN(0) THEN DY=1 IF DX<>0 OR DY<>0 THEN CALL PMOVE(PX,PY,DX,DY,PS) IROB=0 FOR II=0 TO 9 IF ES(II)>0 THEN IROB=IROB+1 R=0 IF ES(II)=2 THEN CALL CHECKROBBERS(EX(II),EY(II),R) IF R=1 THEN ES(II)=0 CELL PX,PY,2 END IF NEXT II IF IROB=0 THEN PLAY 0,90,60 END END IF END IF IEM=(IEM+1) MOD 5 IF IEM=0 THEN IF ES(EI)>0 THEN CALL EMOVE(EX(EI),EY(EI),EDX(EI),EDY(EI),ES(EI)) EI=(EI+1) MOD 10 END IF CALL CHECKLOSE WAIT VBL LOOP SUB CHECKLOSE BANKS=0 FOR IX=0 TO 19 FOR IY=0 TO 15 IF CELL.C(IX,IY)=6 THEN BANKS=BANKS+1 NEXT IY NEXT IX IF BANKS=0 THEN PLAY 0,20,120 WAIT 60 END END IF END SUB SUB FINDEMPTY(X,Y) C=999 WHILE C<>0 X=INT(RND*20) Y=INT(RND*16) C=CELL.C(X,Y) WEND END SUB SUB EMOVE(X,Y,DX,DY,S) CI=0 C=99 CX=X+DX CY=Y+DY IF CX<=0 OR CY<=0 OR CX>=19 OR CY>=15 THEN S=1 IF CX>=0 AND CY>=0 AND CX<=19 AND CY<=15 THEN C=CELL.C(CX,CY) WHILE C<>0 AND CI<20 DX=INT(RND*3)-1 DY=INT(RND*3)-1 CX=X+DX CY=Y+DY IF CX>=0 AND CY>=0 AND CX<=19 AND CY<=15 THEN C=CELL.C(CX,CY) CI=CI+1 WEND IF C=0 AND CI<20 THEN CELL X,Y,0 X=CX Y=CY R=0 IF S=1 THEN CALL CHECKBANK(X,Y,R) IF R=1 THEN S=2 IF S>0 THEN CELL X,Y,2+S ELSE CELL X,Y,0 END IF END SUB SUB CHECKBANK(X,Y,R) R=0 FOR IX=X-1 TO X+1 FOR IY=Y-1 TO Y+1 IF IX>=0 AND IY>=0 AND IX<=19 AND IY<=15 THEN C=CELL.C(IX,IY) IF C=6 AND INT(RND*3)=0 THEN R=1 PLAY 0,90,1 IF INT(RND*4)=0 THEN CELL IX,IY,8 PLAY 3,30,5 END IF END IF END IF NEXT IY NEXT IX END SUB SUB PMOVE (X,Y,DX,DY,PS) CX=X+DX CY=Y+DY IF CX>=0 AND CX<=19 AND CY>=0 AND CY<=15 THEN CC=CELL.C(CX,CY) IF CC=0 THEN CELL X,Y,0 X=CX Y=CY IF PS=2 THEN CALL CHECKJAIL(X,Y) CELL X,Y,0+PS END IF END IF END SUB SUB CHECKJAIL(X,Y) FOR IX=X-1 TO X+1 FOR IY=Y-1 TO Y+1 IF IX>=0 AND IY>=0 AND IX<=19 AND IY<=15 THEN C=CELL.C(IX,IY) IF C=7 THEN PS=1 PLAY 0,40,5 END IF END IF NEXT IY NEXT IX END SUB SUB CHECKROBBERS(X,Y,R) R=0 FOR IX=X-1 TO X+1 FOR IY=Y-1 TO Y+1 IF IX>=0 AND IY>=0 AND IX<=19 AND IY<=15 THEN C=CELL.C(IX,IY) IF C=1 AND PS=1 THEN R=1 PS=2 PLAY 0,70,2 CELL X,Y,0 END IF END IF NEXT IY NEXT IX END SUB #1:MAIN PALETTES 01150C0B000B0B1500300000003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 3C7EDBFFFFFF7E3C3C7EDBFFFFFF7E3C 3C7EDBFFFFF57F3E3C7EDBF1E0E06030 003C7E5A7E7E3C000000000000000000 00003C183C3C0000003C424242423C00 ABFE7FFE7FFE7FD50000000000000000 7EF7E1D7E3F5C37681081E281C0A3C89 FFFFFFFFFFFFFFFFFFABABABABABABFF 1C366357637522140000000000000000 #14:MESSAGES 00000000000000000000000000000000 0000000000342825003428292E00222C 3525002C292E25000000000000000000 00000000000000000000000000000000 000D0D0D0D0D0D0D0D0D0D0000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000002332292D25002821 330024253323252E242524002C292B25 0021002421322B00232C2F3524000000 35302F2E00392F353200232934390E0E 0E000000000000000000000000000000 0000000000000000342825002C2F2321 2C00302F2C29232500213225352E2122 2C2500342F0033342F300029340E0000 00000000000000000000000000000000 00000000392F35002821362500222525 2E0021332B252400342F0028252C3000 322F352E24003530003428252332292D 292E212C33002225262F322500212C2C 232934293A252E330024252329242500 342F00002C2521362500342825002329 34390E0E0E0000000000000000000000 000000000000000000000000392F3532 00232F2425002E212D250029331A0000 2421322B00252E242F32232532000000 00000000000000000000000000000000 0000000000000000392F3532002D2933 33292F2E1A0000000000000023213423 28002332292D292E212C330037293428 33342F2C252E0022212E2B0026352E24 33000000212E24003428322F37003428 252D00292E000000303229332F2E0E00 00000000000000000000000000000000 00000000000000000000000000000000 392F350028213625002225252E002729 36252E003330252329212C00232C2521 32252E232500342F242F003728213425 3625320029340034212B2533342F0023 2C25212E003530003428250023293439 00000000000000000000000000000000 000000000E0E00282F37253625320C00 392F35002D35333421233400212C2F2E 250E0E0E000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000272F2F24002C3523 2B010000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000E0E00252E24003432212E33 2D293333292F2E000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 000000000E0E0E0E0E0E0E0E0E0E0E0E 0E0E0E0E0E0E0E00