TOUCHSCREEN RANDOMIZE TIMER REM WAS8BIT FONT 96 DIM GLOBAL TILE(16),TPAL(16) FOR I=1 TO 16 READ TILE(I) NEXT I DATA 4,6,12,14, 8,10,12,14, 8,10,32,34, 36,38,32,34 FOR I=1 TO 16 READ TPAL(I) NEXT I DATA 0,0,0,0, 3,3,3,3, 1,1,1,1, 2,2,2,2 GLOBAL DONE,DONEDONE,IMOVE DONE=0 DONEDONE=0 BG 1 BG COPY 0,0,20,16 TO 0,0 PAL 7 BG 0 TEXT 0,4,"====================" TEXT 0,5,"====================" TEXT 0,6,"=== ===" TEXT 0,7,"=== MATCH MATES ===" TEXT 0,8,"=== ===" TEXT 0,9,"=== BY WAS8BIT ===" TEXT 0,10,"====================" TEXT 0,11,"====================" WAIT 60 WHILE NOT TOUCH IF RND(10)=0 THEN BG TINT 0,0 TO 19,15 PAL RND(7) END IF WAIT VBL WEND CLS CELL SIZE 1,1 BG 1 FOR Y=0 TO 7 STEP 2 FOR X=0 TO 9 STEP 2 R=RND(3)*4+1 PAL TPAL(R) CELL X,Y,TILE(R) CELL X+1,Y,TILE(R+1) CELL X,Y+1,TILE(R+2) CELL X+1,Y+1,TILE(R+3) NEXT X NEXT Y WAIT 60 FOR I=1 TO 100 TX=RND(8) TY=0 DY=RND(1)*2-1 DX=0 CALL POP(DX,DY,TX,TY) TX=0 TY=RND(6) DX=RND(1)*2-1 DY=0 CALL POP(DX,DY,TX,TY) NEXT I ITOUCH=0 DO IF TOUCH THEN IF ITOUCH=0 THEN ITOUCH=1 TX=TOUCH.X\16 TY=TOUCH.Y\16 ELSE IF ITOUCH=1 THEN DX=TX-TOUCH.X\16 DY=TY-TOUCH.Y\16 CALL POP(DX,DY,TX,TY) IF IMOVE=1 THEN PLAY 0,RND(30)+10,1 SOUND 0 WAIT 6 END IF ELSE IF ITOUCH=1 THEN CALL CHECKIT ITOUCH=0 END IF END IF IF DONEDONE=1 THEN GOTO GAMEOVER WAIT VBL LOOP GAMEOVER: CLS BG 1 DO CELL RND(9),RND(7),42 TINT RND(9),RND(7) PAL RND(7) FLIP RND(1),RND(1) IF RND(25)=0 THEN PLAY 0,RND(90),1 SOUND 0 IF RND(75)=0 THEN PLAY 1,RND(90),1 SOUND 1 WAIT VBL LOOP SUB CHECKIT FOR Y=0 TO 6 FOR X=0 TO 8 P1=CELL.A(X,Y) P2=CELL.A(X+1,Y) P3=CELL.A(X,Y+1) P4=CELL.A(X+1,Y+1) IF P1=P2 AND P1=P3 AND P1=P4 THEN C1=CELL.C(X,Y) C2=CELL.C(X+1,Y) C3=CELL.C(X,Y+1) C4=CELL.C(X+1,Y+1) FOR I=1 TO 13 STEP 4 IF C1=TILE(I) AND C2=TILE(I+1) AND C3=TILE(I+2) AND C4=TILE(I+3) THEN CELL X,Y,40 CELL X+1,Y,40 CELL X,Y+1,40 CELL X+1,Y+1,40 PLAY 1,RND(30)+40,5 SOUND 1 CALL DONECHECK ELSE IF DONE=1 AND C1=40 AND C2=40 AND C3=40 AND C4=40 THEN CELL X,Y,0 CELL X+1,Y,0 CELL X,Y+1,0 CELL X+1,Y+1,0 CALL DONEDONECHECK END IF NEXT I END IF NEXT X NEXT Y END SUB SUB DONEDONECHECK DONEDONE=1 BG 1 FOR Y=0 TO 7 FOR X=0 TO 9 IF CELL.C(X,Y)>0 THEN DONEDONE=0 NEXT X NEXT Y END SUB SUB DONECHECK DONE=1 BG 1 FOR Y=0 TO 7 FOR X=0 TO 9 IF CELL.C(X,Y)<40 THEN DONE=0 NEXT X NEXT Y END SUB SUB POP(DX,DY,TX,TY) IMOVE=1 IF ABS(DX)>ABS(DY) THEN IF DX<0 THEN BG 1 PP=CELL.A(9,TY) CC=CELL.C(9,TY) FOR X=9 TO 1 STEP -1 PAL CELL.A(X-1,TY) CELL X,TY,CELL.C(X-1,TY) NEXT X PAL PP CELL 0,TY,CC ELSE BG 1 PP=CELL.A(0,TY) CC=CELL.C(0,TY) FOR X=0 TO 8 PAL CELL.A(X+1,TY) CELL X,TY,CELL.C(X+1,TY) NEXT X PAL PP CELL 9,TY,CC END IF ELSE IF ABS(DX)