TOUCHSCREEN RANDOMIZE TIMER GLOBAL ISCORE DIM GLOBAL BOARD(5,4) DIM GLOBAL CBOARD(11) FOR I=1 TO 11 READ CBOARD(I) NEXT I DATA 64,66,68,70,72,74,76,78,96,98,100 ISCORE=110 BG 1 FOR X=0 TO 16 STEP 4 FOR Y=0 TO 12 STEP 4 CALL CARD(X,Y,0) NEXT Y NEXT X NEWBOARD: ISCORE=ISCORE-10 BG 0 NUMBER 0,0,ISCORE,3 WAIT VBL IF ISCORE<0 THEN END FOR Y=0 TO 3 FOR X=0 TO 4 BOARD(X,Y)=0 NEXT X NEXT Y FOR II=1 TO 2 FOR I=1 TO 10 C=99 WHILE C<>0 PX=RND(4) PY=RND(3) C=BOARD(PX,PY) WEND BOARD(PX,PY)=I NEXT I NEXT II PX=RND(4) PY=RND(3) BOARD(PX,PY)=11 NEWTURN: PAL 3 BG 0 NUMBER 0,0,ISCORE,3 BG 1 CARD1: DO IF TOUCH THEN TX=(TOUCH.X\32)*4 TY=(TOUCH.Y\32)*4 IF BOARD(TX\4,TY\4)<>0 THEN CALL FLIPUP(TX,TY) GOTO CARD2 END IF END IF WAIT VBL LOOP CARD2: DO IF TOUCH THEN TX2=(TOUCH.X\32)*4 TY2=(TOUCH.Y\32)*4 IF TX2=TX AND TY2=TY THEN ELSE IF BOARD(TX2\4,TY2\4)<>0 THEN CALL FLIPUP(TX2,TY2) RESULT=0 CALL MATCHCHECK(TX,TY,TX2,TY2,RESULT) IF RESULT=0 THEN GOTO NOMATCH ELSE GOTO NEWTURN END IF END IF END IF WAIT VBL LOOP NOMATCH: WAIT 15 CALL FLIPDOWN(TX,TY) CALL FLIPDOWN(TX2,TY2) WAIT 15 ISCORE=ISCORE-1 GOTO NEWTURN SUB CARD(X,Y,R) FOR I=0 TO 3 CELL X,Y+I,0 CELL X+3,Y+I,0 NEXT I CELL X+2,Y,1 CELL X+2,Y+1,17 CELL X+2,Y+2,17 CELL X+2,Y+3,33 IF R=0 THEN C1=2 C2=1 ELSE IF R>0 AND R<7 THEN C1=2+R C2=1 ELSE IF R>=7 THEN C1=0 C2=R-6 END IF IF C1>0 THEN CELL X,Y,C1 CELL X+1,Y,C2 IF R>6 THEN CELL X+2,Y,C2+8 IF C1>0 THEN CELL X+3,Y,C1+7 IF C1>0 THEN CELL X,Y+1,C1+16 CELL X+1,Y+1,C2+16 IF R>6 THEN CELL X+2,Y+1,C2+16+8 IF C1>0 THEN CELL X+3,Y+1,C1+7+16 IF C1>0 THEN CELL X,Y+2,C1+16 CELL X+1,Y+2,C2+16 IF R>6 THEN CELL X+2,Y+2,C2+16+8 IF C1>0 THEN CELL X+3,Y+2,C1+7+16 IF C1>0 THEN CELL X,Y+3,C1+32 CELL X+1,Y+3,C2+32 IF R>6 THEN CELL X+2,Y+3,C2+32+8 IF C1>0 THEN CELL X+3,Y+3,C1+7+32 END SUB SUB CARDUP(X,Y) CALL CARD(X,Y,0) END SUB SUB FLIPUP(X,Y) BG 1 PAL 0 FOR I=1 TO 14 PLAY 0,40+I*3,1 CALL CARD(X,Y,I) WAIT VBL NEXT I PAL 1 FOR I=14 TO 1 STEP -1 PLAY 0,40+I*3,1 CALL CARD(X,Y,I) WAIT VBL NEXT I CALL CARDUP(X,Y) CALL SHOWITEM(X,Y) END SUB SUB FLIPDOWN(X,Y) CALL REMOVEITEM(X,Y) BG 1 PAL 1 FOR I=1 TO 14 REM PLAY 0,40+I*3,1 CALL CARD(X,Y,I) WAIT VBL NEXT I PAL 0 FOR I=14 TO 1 STEP -1 REM PLAY 0,40+I*3,1 CALL CARD(X,Y,I) WAIT VBL NEXT I CALL CARDUP(X,Y) END SUB SUB SHOWITEM(X,Y) BG 0 PAL 2 IX=X\4 IY=Y\4 CH=CBOARD(BOARD(IX,IY)) CELL X+1,Y+1,CH CELL X+2,Y+1,CH+1 CELL X+1,Y+2,CH+16 CELL X+2,Y+2,CH+17 END SUB SUB REMOVEITEM(X,Y) BG 0 PAL 2 CELL X+1,Y+1,0 CELL X+2,Y+1,0 CELL X+1,Y+2,0 CELL X+2,Y+2,0 END SUB SUB MATCHCHECK(X,Y,X2,Y2,R) IX=X\4 IY=Y\4 CH=BOARD(IX,IY) IX=X2\4 IY=Y2\4 CH2=BOARD(IX,IY) IF CH=CH2 THEN PLAY 0,90,10 WAIT 120 INC ISCORE CALL DELETEITEM(X,Y) CALL DELETEITEM(X2,Y2) R=1 END IF END SUB SUB DELETEITEM(X,Y) CALL REMOVEITEM(X,Y) BG 1 FOR IX=0 TO 3 FOR IY=0 TO 3 CELL X+IX,Y+IY,0 NEXT IY NEXT IX BOARD(X\4,Y\4)=0 END SUB #1:MAIN PALETTES 090B0702003F2A15003C0430003F3F00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 000000000000000000FFFFFFFFFFFFFF 0000000000000000007F7F7F7F7F7F7F 0000000000000000003F3F3F3F3F3F3F 0000000000000000001F1F1F1F1F1F1F 0000000000000000000F0F0F0F0F0F0F 00000000000000000007070707070707 00000000000000000003030303030303 00000000000000000001010101010101 000000000000000000FEFEFEFEFEFEFE 000000000000000000FCFCFCFCFCFCFC 000000000000000000F8F8F8F8F8F8F8 000000000000000000F0F0F0F0F0F0F0 000000000000000000E0E0E0E0E0E0E0 000000000000000000C0C0C0C0C0C0C0 00000000000000000080808080808080 00000000000000000000000000000000 0000000000000000FFFFFFFFFFFFFFFF 00000000000000007F7F7F7F7F7F7F7F 00000000000000003F3F3F3F3F3F3F3F 00000000000000001F1F1F1F1F1F1F1F 00000000000000000F0F0F0F0F0F0F0F 00000000000000000707070707070707 00000000000000000303030303030303 00000000000000000101010101010101 0000000000000000FEFEFEFEFEFEFEFE 0000000000000000FCFCFCFCFCFCFCFC 0000000000000000F8F8F8F8F8F8F8F8 0000000000000000F0F0F0F0F0F0F0F0 0000000000000000E0E0E0E0E0E0E0E0 0000000000000000C0C0C0C0C0C0C0C0 00000000000000008080808080808080 00000000000000000000000000000000 0000000000000000FFFFFFFFFFFFFF00 00000000000000007F7F7F7F7F7F7F00 00000000000000003F3F3F3F3F3F3F00 00000000000000001F1F1F1F1F1F1F00 00000000000000000F0F0F0F0F0F0F00 00000000000000000707070707070700 00000000000000000303030303030300 00000000000000000101010101010100 0000000000000000FEFEFEFEFEFEFE00 0000000000000000FCFCFCFCFCFCFC00 0000000000000000F8F8F8F8F8F8F800 0000000000000000F0F0F0F0F0F0F000 0000000000000000E0E0E0E0E0E0E000 0000000000000000C0C0C0C0C0C0C000 00000000000000008080808080808000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00071F3F3F7F7F7F0F386040C08C8E8C 00C0E0F8FCFEFEFEE0301C0602617161 00000008083C7C7F0000000000003000 00000000000408080000000000000000 00070F0F0F67F0FC0000000000000303 000080809CBE7E7E0000000000008080 000003030F1F1F000000000000001F1F 00000000C0E0E000000000000000E0E0 00402010080003F70000000000000000 302040C080003F800000000000000000 0000000000000D0D00000000000F1212 00000000000080800000000000804060 00000000000000000000000804070301 00000000201008C0000000000000E0E0 0001070F1C3800000001070F1F3F0707 00F0F8FC1E03000000F0F8FCFEFBF8F8 7F7F7F7F3F1F0F0080808088CC67301F FEFEFCFCF8F0C00001012322C40830C0 3F020307070808100001000000000000 D0F0B0F8180808082000400000000000 FDFF421A1F0202020303021A1F020202 7E3C00C0C0000000800000C0C0000000 1F1F0F07030000001F00000000000000 E0E0C08000000000E000000000000000 07030021634286800000000000000000 80000010080402000000000000000000 00001818000000007F7F7F1800000000 0404303000000000F8F8FC3000000000 000000000000000003072E1C18040000 0000000000000000F038080400000000 02020000000000000505070707070000 101000C0C0C00000E8E8F83838380000 07307C7801417171084F8386FF3F0F0D 186C068E8C8C80804090F8F0F3F3BEBC 0002060E1E0000000000000000000000 80A0B0B8BC8080808080808080808080 0000060F08081810000000000707070F 000000807018080C0000000080E0F0F0 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 E1C10101070F18001D1D0101070F1800 80808080F8FC0800B8808080F8FC0800 00000000000000003F1F070300000000 0000000000000000FEFCF8E000000000 2666400F0F0000001F1F3F7F7F7F6100 666202F0F0000000F8FCFCFEFEFE8200 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 007F40404040404000003F3F3F3F3F3F 00FF0000000000000000FFFFFFFFFFFF 00FF0000000000000000FFFFFFFFFFFF 00FE0202020202020002FEFEFEFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 40404040404040403F3F3F3F3F3F3F3F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0202020202020202FEFEFEFEFEFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 40404040404040403F3F3F3F3F3F3F3F 0000000000000000FFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 0202020202020202FEFEFEFEFEFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 4040404040407F003F3F3F3F3F3F7F00 000000000000FF00FFFFFFFFFFFFFF00 000000000000FF00FFFFFFFFFFFFFF00 020202020202FE00FEFEFEFEFEFEFE00