RANDOMIZE TIMER TOUCHSCREEN REM WAS8BIT DIM MAP(17,13) I=0 RESET: CLS I=RND(8) BG 1 PAL 7 BG FILL 19,0 TO 19,15 CHAR 9 BG FILL 0,15 TO 19,15 CHAR 9 BG FILL 31,0 TO 31,15 CHAR 9 BG FILL 0,31 TO 19,31 CHAR 9 FOR Y=1 TO 13 STEP 2 ADD I,2,1 TO 8 FOR X=1 TO 17 STEP 2 ADD I,1,1 TO 8 PAL I-1 CELL X,Y,I NEXT X NEXT Y ILOW=0 IFILL=0 GOGO: IPASS=0 DO BG 0 PAL 0 NUMBER 0,0,IPASS,3 BG 1 ISKIP=-1 INC IPASS IF IPASS=50 THEN INC IFILL IF IFILL=1 THEN GOTO FILL1 IF IFILL=2 THEN GOTO FILL2 END IF FOR Y=1 TO 13 STEP 2 FOR X=1 TO 17 STEP 2 IF MAP(X,Y)=ILOW THEN ISKIP=0 CC=CELL.C(X,Y) PAL CC-1 IF RND(1)=0 THEN DX=RND(2)-1+X DY=Y ELSE DY=RND(2)-1+Y DX=X END IF CH=CELL.C(DX,DY) IF CH=0 THEN CELL DX,DY,CC INC MAP(X,Y) END IF END IF NEXT X NEXT Y IF ISKIP THEN INC ILOW IF ISKIP THEN IPASS=0 IF ILOW=5 THEN GOTO MAKE3D WAIT VBL LOOP FILL1: FOR Y=1 TO 13 STEP 2 FOR X=1 TO 17 STEP 2 IF MAP(X,Y)=ILOW THEN CC=CELL.C(X,Y) DX=X DY=Y CHL=CELL.C(X-1,Y) CHR=CELL.C(X+1,Y) CHU=CELL.C(X,Y-1) CHD=CELL.C(X,Y+1) IF CHL=CC THEN DX=X-1 ELSE IF CHR=CC THEN DX=X+1 ELSE IF CHU=CC THEN DY=Y-1 ELSE IF CHD=CC THEN DY=Y+1 ELSE PRINT "ERROR: FILL1" WAIT 15 GOTO RESET END IF PAL CC-1 IF CELL.C(DX-1,DY)=0 THEN CELL DX-1,DY,CC IF CELL.C(DX+1,DY)=0 THEN CELL DX+1,DY,CC IF CELL.C(DX,DY-1)=0 THEN CELL DX,DY-1,CC IF CELL.C(DX,DY+1)=0 THEN CELL DX,DY+1,CC INC MAP(X,Y) END IF NEXT X NEXT Y INC ILOW GOTO GOGO FILL2: CLS 0 IDONE=-1 FOR Y=0 TO 14 FOR X=0 TO 18 CC=CELL.C(X,Y) IF CC=0 THEN IDONE=0 IF RND(5)=0 THEN DX=X DY=Y IF RND(1)=0 THEN DX=RND(2)-1+X ELSE DY=RND(2)-1+Y CH=CELL.C(DX,DY) IF CH<=8 AND CH>0 THEN PAL CH-1 IF CH<>0 AND CH<>9 THEN CELL X,Y,CH END IF END IF NEXT X NEXT Y WAIT VBL IF NOT IDONE THEN GOTO FILL2 MAKE3D: BG 1 BG FILL 0,0 TO 0,15 CHAR 9 PLAY 0,90,1 FOR Y=0 TO 14 FOR X=1 TO 18 BG 1 CC=CELL.C(X,Y) CHU=CELL.C(X,Y-1) CHD=CELL.C(X,Y+1) CHL=CELL.C(X-1,Y) CHR=CELL.C(X+1,Y) RR=0 IF CHU<>CC THEN RR=RR+1 IF CHD<>CC THEN RR=RR+2 IF CHL<>CC THEN RR=RR+4 IF CHR<>CC THEN RR=RR+8 BG 0 PAL CC-1 CELL X,Y,17+RR NEXT X NEXT Y CLS 1 SPRITE 1,,,64 SPRITE 1 SIZE 2 ICHAR=0 REM GAME STARTS HERE.. OX=-24 OY=-24 GLOBAL TWAIT TWAIT=0 DO IANI=(IANI+1) MOD 8 IF IANI=0 THEN ADD ICHAR,3,67 TO 73 FOR IX=0 TO 2 FOR IY=0 TO 32 STEP 16 CCHAR=ICHAR+IX+IY TCHAR=64+IX+IY COPY $8000+16*CCHAR,16 TO $8000+TCHAR*16 NEXT IY NEXT IX END IF IF TAP AND TWAIT=0 THEN TX=((TOUCH.X-8)\24)*24+8 TY=(TOUCH.Y\24)*24 IF OX=-24 THEN OX=TX OY=TY SPRITE 1,TX,TY, PLAY 0,90,1 TWAIT=30 ELSE IF TX=OX AND TY=OY THEN OX=-24 OY=-24 SPRITE 1,OX,OY, PLAY 0,90,1 TWAIT=30 ELSE IF TYOY THEN CALL ROLLDOWN(TX\8) END IF END IF IF TWAIT>0 THEN DEC TWAIT WAIT VBL LOOP SUB ROLLUP(X) FOR I=1 TO 3 P1=CELL.A(X,0) C1=CELL.C(X,0) P2=CELL.A(X+1,0) C2=CELL.C(X+1,0) P3=CELL.A(X+2,0) C3=CELL.C(X+2,0) BG SCROLL X,0 TO X+2,14 STEP 0,-1 PAL P1 CELL X,14,C1 PAL P2 CELL X+1,14,C2 PAL P3 CELL X+2,14,C3 NEXT I PLAY 0,90,1 TWAIT=30 END SUB SUB ROLLDOWN(X) FOR I=1 TO 3 P1=CELL.A(X,14) C1=CELL.C(X,14) P2=CELL.A(X+1,14) C2=CELL.C(X+1,14) P3=CELL.A(X+2,14) C3=CELL.C(X+2,14) BG SCROLL X,0 TO X+2,14 STEP 0,1 PAL P1 CELL X,0,C1 PAL P2 CELL X+1,0,C2 PAL P3 CELL X+2,0,C3 NEXT I PLAY 0,90,1 TWAIT=30 END SUB #1:MAIN PALETTES 003F2A15003B3020003C2814003E3824 001E081500372313002B0B06002A1500 #2:MAIN CHARACTERS 00000000000000000000000000000000 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 81002400002400818142000000004281 0000000000000000FFFFFFFFFFFFFFFF 000000000000000000FFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFF00 000000000000000000FFFFFFFFFFFF00 00000000000000007F7F7F7F7F7F7F7F 0000000000000000007F7F7F7F7F7F7F 00000000000000007F7F7F7F7F7F7F00 0000000000000000007F7F7F7F7F7F00 0000000000000000FEFEFEFEFEFEFEFE 000000000000000000FEFEFEFEFEFEFE 0000000000000000FEFEFEFEFEFEFE00 000000000000000000FEFEFEFEFEFE00 00000000000000007E7E7E7E7E7E7E7E 0000000000000000007E7E7E7E7E7E7E 00000000000000007E7E7E7E7E7E7E00 0000000000000000007E7E7E7E7E7E00 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 B6008080008080006D80800080800080 DB00000000000000BD00000000000000 6D00010100010100B601010001010001 B6008080008080006D80800080800080 DB00000000000000BD00000000000000 6D00010100010100B601010001010001 6D80800080800080DB80008080008080 BD000000000000006600000000000000 B601010001010001DB01000101000101 DB80008080008080B600808000808000 6600000000000000DB00000000000000 DB010001010001016D00010100010100 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 80800080800080808000808080800080 00000000000000000000000000000000 01010001010001010100010101010001 80800080800080808000808080800080 00000000000000000000000000000000 01010001010001010100010101010001 80008080808000800080800000808000 00000000000000000000000000000000 01000101010100010001010000010100 00808000008080008080008080008080 00000000000000000000000000000000 00010100000101000101000101000101 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00808000808000B6800080800080806D 00000000000000DB00000000000000BD 000101000101006D01000101000101B6 00808000808000B6800080800080806D 00000000000000DB00000000000000BD 000101000101006D01000101000101B6 800080800080806D80800080800080DB 00000000000000BD0000000000000066 01000101000101B601010001010001DB 80800080800080DB00808000808000B6 000000000000006600000000000000DB 01010001010001DB000101000101006D