REM REM SCORING... REM REM MATCHING LETTERS, DIFF COLORS = 10 PNT EACH COLOR REM MATCHING LETTER AND COLOR = 100 PNTS FOR THAT COLOR REM REM IF A WILD CARD IS USED, LETTER TILE AND WILD ARE REMOVED WITH NO POINTS... REM BOTH WILDCARDS CAN BE MATCHED TOGETHER FOR A BONUS 1000 POINTS EACH COLOR REM REM COMPUTER ATTACK IS COMPUTER TRYING TO REMOVE TILES FROM BOARD REM COMPUTER MATCHES REDUCE YOUR POINTS REM REM EACH NO MATCH = -1 POINT PER COLOR REM REM GAME STARTS WITH 100 POINTS PER COLOR REM REM WAS8BIT MATCHABET GAME TOUCHSCREEN RANDOMIZE TIMER CELL SIZE 1,1 DIM GLOBAL TILE(27),FLIPIT(11),PPICK(2),LPICK(2),XPICK(2),YPICK(2) DIM GLOBAL LGRID(9,7),PGRID(9,7),DECK(70),PDECK(70) GLOBAL SQR_EMPTY,SQR_BACK SQR_EMPTY=160 SQR_BACK=102 SQR_PLAYER=162 SQR_COMPUTER=164 FOR I=1 TO 11 READ FLIPIT(I) NEXT I DATA 104,106,108,110,128,130,132,134,136,138,140 FOR I=1 TO 27 READ TILE(I) NEXT I DATA 2,4,6,8,10,12,14,32,34,36,38,40,42,44,46 DATA 64,66,68,70,72,74,76,78,96,98,100,142 BG 1 BG FILL 0,1 TO 9,7 CHAR SQR_EMPTY BG 0 PAL 4 RSCORE=100 BSCORE=100 TSCORE=200 TEXT 0,1," " TEXT 0,0,"SCORE " NUMBER 0,1,RSCORE,5 PAL 5 TEXT 6,0,"SCORE " NUMBER 6,1,BSCORE,5 PAL 6 TEXT 12,0,"TOTAL " NUMBER 12,1,TSCORE,6 NEW_GAME: ISCORE=0 IDECK=0 DECK(1)=27 DECK(2)=27 FOR I=3 TO 70 STEP 2 L=RND(25)+1 P=RND(1) DECK(I)=L DECK(I+1)=L PDECK(I)=P PDECK(I+1)=P NEXT I FOR I=1 TO 250 C1=RND(69)+1 C2=RND(69)+1 SWAP DECK(C1),DECK(C2) SWAP PDECK(C1),PDECK(C2) NEXT I BG 1 PAL 0 IDECK=0 FOR Y=1 TO 7 FOR X=0 TO 9 INC IDECK PGRID(X,Y)=PDECK(IDECK) LGRID(X,Y)=DECK(IDECK) CELL X,Y,SQR_BACK NEXT X NEXT Y NEXT_TURN: IPICK=0 GOSUB SHOWSCORES PAL 7 CELL 9,0,SQR_PLAYER PLAYER: DO IF TAP THEN CX=(TOUCH.X\16) CY=(TOUCH.Y\16) C=CELL.C(CX,CY) IF C=SQR_BACK THEN INC IPICK FOR I=1 TO 11 CELL CX,CY,FLIPIT(I) WAIT VBL NEXT I XPICK(IPICK)=CX YPICK(IPICK)=CY LPICK(IPICK)=LGRID(CX,CY) PPICK(IPICK)=PGRID(CX,CY) PAL PPICK(IPICK) TRACE LPICK(IPICK) CELL CX,CY,TILE(LPICK(IPICK)) END IF IF IPICK=2 THEN GOTO PROCESS END IF WAIT VBL LOOP PROCESS: IF LPICK(1)<>LPICK(2) THEN PLAY 0,30,5 SOUND 0 WAIT 7 PLAY 0,30,5 SOUND 0 WAIT 30 FOR I=11 TO 1 STEP -1 CELL XPICK(1),YPICK(1),FLIPIT(I) WAIT VBL NEXT I CELL XPICK(1),YPICK(1),SQR_BACK FOR I=11 TO 1 STEP -1 CELL XPICK(2),YPICK(2),FLIPIT(I) WAIT VBL NEXT I CELL XPICK(2),YPICK(2),SQR_BACK IF PPICK(1)=0 THEN DEC BSCORE ELSE DEC RSCORE IF PPICK(2)=0 THEN DEC BSCORE ELSE DEC RSCORE ELSE PLAY 1,60,5 SOUND 1 WAIT 120 PAL 0 IF PPICK(1)<>PPICK(2) THEN ADD BSCORE,10 ADD RSCORE,10 ELSE IF PPICK(1)=0 THEN ADD BSCORE,100 ELSE ADD RSCORE,100 END IF CELL XPICK(1),YPICK(1),SQR_EMPTY CELL XPICK(2),YPICK(2),SQR_EMPTY END IF COMPUTER: GOSUB SHOWSCORES IPICK=0 PAL 7 CELL 9,0,SQR_COMPUTER WAIT 60 DO CX=RND(9) CY=RND(6)+1 C=CELL.C(CX,CY) IF C=SQR_BACK THEN INC IPICK FOR I=1 TO 11 CELL CX,CY,FLIPIT(I) WAIT VBL NEXT I XPICK(IPICK)=CX YPICK(IPICK)=CY LPICK(IPICK)=LGRID(CX,CY) PPICK(IPICK)=PGRID(CX,CY) PAL PPICK(IPICK) TRACE LPICK(IPICK) CELL CX,CY,TILE(LPICK(IPICK)) END IF IF IPICK=2 THEN GOTO CPROCESS WAIT VBL LOOP CPROCESS: IF LPICK(1)<>LPICK(2) THEN PLAY 0,30,5 SOUND 0 WAIT 7 PLAY 0,30,5 SOUND 0 WAIT 30 FOR I=11 TO 1 STEP -1 CELL XPICK(1),YPICK(1),FLIPIT(I) WAIT VBL NEXT I CELL XPICK(1),YPICK(1),SQR_BACK FOR I=11 TO 1 STEP -1 CELL XPICK(2),YPICK(2),FLIPIT(I) WAIT VBL NEXT I CELL XPICK(2),YPICK(2),SQR_BACK ELSE PLAY 1,60,5 SOUND 1 WAIT 120 PAL 0 IF PPICK(1)<>PPICK(2) THEN ADD BSCORE,-10 ADD RSCORE,-10 ELSE IF PPICK(1)=0 THEN ADD BSCORE,100 ELSE ADD RSCORE,-100 END IF CELL XPICK(1),YPICK(1),SQR_EMPTY CELL XPICK(2),YPICK(2),SQR_EMPTY END IF GOTO NEXT_TURN SHOWSCORES: BG 0 PAL 4 NUMBER 0,1,RSCORE,5 PAL 5 NUMBER 6,1,BSCORE,5 PAL 6 TSCORE=RSCORE+BSCORE NUMBER 12,1,TSCORE,6 BG 1 RETURN #1:MAIN PALETTES 053F3F00003F3F300000003F003F3C00 00303F1500003F15001B3F2A003F1B0C #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 007F7F7F7F7F7F7F000000070F1C181F 00FEFEFEFEFEFEFE000000E0F03818F8 007F7F7F7F7F7F7F0000001F1F18181F 00FEFEFEFEFEFEFE000000E0F03838F0 007F7F7F7F7F7F7F000000070F1E1C18 00FEFEFEFEFEFEFE000000E0F0300000 007F7F7F7F7F7F7F0000001F1F181818 00FEFEFEFEFEFEFE000000E0F0381818 007F7F7F7F7F7F7F0000001F1F18181F 00FEFEFEFEFEFEFE000000F8F80000E0 007F7F7F7F7F7F7F0000001F1F18181F 00FEFEFEFEFEFEFE000000F8F80000E0 007F7F7F7F7F7F7F000000070F1E1C18 00FEFEFEFEFEFEFE000000E0F0300000 00000000000000000000000000000000 00000000000000000000000000000000 7F7F7F7F7F7F7F001F18181818000000 FEFEFEFEFEFEFE00F818181818000000 7F7F7F7F7F7F7F001F18181F1F000000 FEFEFEFEFEFEFE00F03838F0E0000000 7F7F7F7F7F7F7F00181C1E0F07000000 FEFEFEFEFEFEFE00000030F0E0000000 7F7F7F7F7F7F7F001818181F1F000000 FEFEFEFEFEFEFE00181838F0E0000000 7F7F7F7F7F7F7F001F18181F1F000000 FEFEFEFEFEFEFE00E00000F8F8000000 7F7F7F7F7F7F7F001F18181818000000 FEFEFEFEFEFEFE00E000000000000000 7F7F7F7F7F7F7F00181C1E0F07000000 FEFEFEFEFEFEFE00F8F838F0E0000000 007F7F7F7F7F7F7F000000181818181F 00FEFEFEFEFEFEFE00000018181818F8 007F7F7F7F7F7F7F0000001F1F010101 00FEFEFEFEFEFEFE000000F8F8808080 007F7F7F7F7F7F7F0000000F0F000000 00FEFEFEFEFEFEFE000000F8F8C0C0C0 007F7F7F7F7F7F7F000000181818191F 00FEFEFEFEFEFEFE0000003878E0C080 007F7F7F7F7F7F7F0000001818181818 00FEFEFEFEFEFEFE0000000000000000 007F7F7F7F7F7F7F000000181C1E1F1B 00FEFEFEFEFEFEFE000000183878F8D8 007F7F7F7F7F7F7F000000181C1E1F1B 00FEFEFEFEFEFEFE0000001818181898 007F7F7F7F7F7F7F000000070F1E1C18 00FEFEFEFEFEFEFE000000E0F0783818 7F7F7F7F7F7F7F001F18181818000000 FEFEFEFEFEFEFE00F818181818000000 7F7F7F7F7F7F7F000101011F1F000000 FEFEFEFEFEFEFE00808080F8F8000000 7F7F7F7F7F7F7F0018181D0F07000000 FEFEFEFEFEFEFE00C0C0C08000000000 7F7F7F7F7F7F7F001F19181818000000 FEFEFEFEFEFEFE0080C0E07838000000 7F7F7F7F7F7F7F001818181F1F000000 FEFEFEFEFEFEFE00000000F8F8000000 7F7F7F7F7F7F7F001918181818000000 FEFEFEFEFEFEFE009818181818000000 7F7F7F7F7F7F7F001918181818000000 FEFEFEFEFEFEFE00D8F8783818000000 7F7F7F7F7F7F7F00181C1E0F07000000 FEFEFEFEFEFEFE00183878F0E0000000 007F7F7F7F7F7F7F0000001F1F18181F 00FEFEFEFEFEFEFE000000E0F03838F0 007F7F7F7F7F7F7F000000070F1E1C18 00FEFEFEFEFEFEFE000000E0F0783818 007F7F7F7F7F7F7F0000001F1F18181F 00FEFEFEFEFEFEFE000000E0F03838F0 007F7F7F7F7F7F7F000000070F1E1C0F 00FEFEFEFEFEFEFE000000F8F80000E0 007F7F7F7F7F7F7F0000001F1F010101 00FEFEFEFEFEFEFE000000F8F8808080 007F7F7F7F7F7F7F0000001818181818 00FEFEFEFEFEFEFE0000001818181818 007F7F7F7F7F7F7F000000181818181C 00FEFEFEFEFEFEFE0000001818181838 007F7F7F7F7F7F7F0000001818181919 00FEFEFEFEFEFEFE0000001818189898 7F7F7F7F7F7F7F001F18181818000000 FEFEFEFEFEFEFE00E000000000000000 7F7F7F7F7F7F7F00181C1E0F07000000 FEFEFEFEFEFEFE00D8F870F8D8000000 7F7F7F7F7F7F7F001F18181818000000 FEFEFEFEFEFEFE00E0E0703818000000 7F7F7F7F7F7F7F000700001F1F000000 FEFEFEFEFEFEFE00F03878F0E0000000 7F7F7F7F7F7F7F000101010101000000 FEFEFEFEFEFEFE008080808080000000 7F7F7F7F7F7F7F0018181C0F07000000 FEFEFEFEFEFEFE00181838F0E0000000 7F7F7F7F7F7F7F000E06030301000000 FEFEFEFEFEFEFE007060C0C080000000 7F7F7F7F7F7F7F00191D1F0F06000000 FEFEFEFEFEFEFE0098B8F8F060000000 007F7F7F7F7F7F7F000000181C0E0703 00FEFEFEFEFEFEFE000000183870E0C0 007F7F7F7F7F7F7F000000181C0E0703 00FEFEFEFEFEFEFE000000183870E0C0 007F7F7F7F7F7F7F0000001F1F000001 00FEFEFEFEFEFEFE000000F8F870E0C0 007F7F7F7F7F7F7F0000000000000000 00FEFEFEFEFEFEFE0000000000000000 003F3F3F3F3F3F3F0000000000000000 00FCFCFCFCFCFCFC0000000000000000 001F1F1F1F1F1F1F0000000000000000 00F8F8F8F8F8F8F80000000000000000 000F0F0F0F0F0F0F0000000000000000 00F0F0F0F0F0F0F00000000000000000 00070707070707070000000000000000 00E0E0E0E0E0E0E00000000000000000 7F7F7F7F7F7F7F0003070E1C18000000 FEFEFEFEFEFEFE00C0E0703818000000 7F7F7F7F7F7F7F000101010101000000 FEFEFEFEFEFEFE008080808080000000 7F7F7F7F7F7F7F0003070E1F1F000000 FEFEFEFEFEFEFE00800000F8F8000000 7F7F7F7F7F7F7F000000000000000000 FEFEFEFEFEFEFE000000000000000000 3F3F3F3F3F3F3F000000000000000000 FCFCFCFCFCFCFC000000000000000000 1F1F1F1F1F1F1F000000000000000000 F8F8F8F8F8F8F8000000000000000000 0F0F0F0F0F0F0F000000000000000000 F0F0F0F0F0F0F0000000000000000000 07070707070707000000000000000000 E0E0E0E0E0E0E0000000000000000000 00030303030303030000000000000000 00C0C0C0C0C0C0C00000000000000000 00010101010101010000000000000000 00808080808080800000000000000000 00030303030303030000000100010001 00C0C0C0C0C0C0C00000000080008000 00070707070707070000000101010101 00E0E0E0E0E0E0E00000008080808080 000F0F0F0F0F0F0F0000000303030303 00F0F0F0F0F0F0F0000000C0C0C0C0C0 001F1F1F1F1F1F1F0000000707070707 00F8F8F8F8F8F8F8000000E0E0E0E0E0 003F3F3F3F3F3F3F0000000F0F0F0F0F 00FCFCFCFCFCFCFC000000F0F0F0F0F0 007F7F7F7F7F7F7F000000070913141D 00FEFEFEFEFEFEFE000000E090C828B8 03030303030303000000000000000000 C0C0C0C0C0C0C0000000000000000000 01010101010101000000000000000000 80808080808080000000000000000000 03030303030303000001000100000000 C0C0C0C0C0C0C0008000800080000000 07070707070707000101010101000000 E0E0E0E0E0E0E0008080808080000000 0F0F0F0F0F0F0F000303030303000000 F0F0F0F0F0F0F000C0C0C0C0C0000000 1F1F1F1F1F1F1F000707070707000000 F8F8F8F8F8F8F800E0E0E0E0E0000000 3F3F3F3F3F3F3F000F0F0F0F0F000000 FCFCFCFCFCFCFC00F0F0F0F0F0000000 7F7F7F7F7F7F7F001D14130907000000 FEFEFEFEFEFEFE00B828C890E0000000 FF80808080808080FF80808080808080 FF01010101010101FF01010101010101 007F7F6060676760FF80809F9F98989F 00FEFE1E0EC6C60EFF0101E1F13939F1 FFFFFFFFFFFFFFFFFF8080878F9E9C98 FFFFFFFFFFFFFFFFFF0101E1F1310101 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 80808080808080FF80808080808080FF 01010101010101FF01010101010101FF 60676767677F7F009F989898988080FF 1EFEFEFEFEFEFE00E1010101010101FF FFFFFFFFFFFFFFFF989C9E8F878080FF FFFFFFFFFFFFFFFF010131F1E10101FF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000FFFFFFFFFFFFFFFF 0018181818001800FFE7E7E7E7FFE7FF 006C6C2400000000FF9393DBFFFFFFFF 00247E24247E2400FFDB81DBDB81DBFF 00083E380E3E0800FFF7C1C7F1C1F7FF 0062640810264600FF9D9BF7EFD9B9FF 001C34386E643A00FFE3CBC7919BC5FF 0018183000000000FFE7E7CFFFFFFFFF 000C183030180C00FFF3E7CFCFE7F3FF 0030180C0C183000FFCFE7F3F3E7CFFF 000024187E182400FFFFDBE781E7DBFF 000018187E181800FFFFE7E781E7E7FF 0000000018183000FFFFFFFFE7E7CFFF 000000007E000000FFFFFFFF81FFFFFF 0000000000181800FFFFFFFFFFE7E7FF 00060C1830604000FFF9F3E7CF9FBFFF 003C666E76663C00FFC399918999C3FF 0018381818187E00FFE7C7E7E7E781FF 003C660C18307E00FFC399F3E7CF81FF 003C660C06663C00FFC399F3F999C3FF 0066667E06060600FF999981F9F9F9FF 007E607C06067C00FF819F83F9F983FF 001C307C66663C00FFE3CF839999C3FF 007E060C18303000FF81F9F3E7CFCFFF 003C663C66663C00FFC399C39999C3FF 003C663E06663C00FFC399C1F999C3FF 0000001800180000FFFFFFE7FFE7FFFF 0000001800183000FFFFFFE7FFE7CFFF 00000C1830180C00FFFFF3E7CFE7F3FF 0000007E007E0000FFFFFF81FF81FFFF 000030180C183000FFFFCFE7F3E7CFFF 003C660C18001800FFC399F3E7FFE7FF 003C666E6E603C00FFC39991919FC3FF 00183C667E666600FFE7C399819999FF 007C667C66667C00FF839983999983FF 003C666060663C00FFC3999F9F99C3FF 00786C66666C7800FF879399999387FF 007E607860607E00FF819F879F9F81FF 007E607860606000FF819F879F9F9FFF 003C606E66663C00FFC39F919999C3FF 0066667E66666600FF999981999999FF 003C181818183C00FFC3E7E7E7E7C3FF 001E060606663C00FFE1F9F9F999C3FF 00666C78786C6600FF999387879399FF 0060606060607E00FF9F9F9F9F9F81FF 0042667E7E666600FFBD9981819999FF 0066767E6E666600FF998981919999FF 003C666666663C00FFC399999999C3FF 007C667C60606000FF8399839F9F9FFF 003C66666A6C3E00FFC399999593C1FF 007C667C786C6600FF839983879399FF 003E603C06067C00FFC19FC3F9F983FF 007E181818181800FF81E7E7E7E7E7FF 0066666666663C00FF9999999999C3FF 00666666663C1800FF99999999C3E7FF 0066667E7E664200FF9999818199BDFF 00663C183C666600FF99C3E7C39999FF 0066663C18181800FF9999C3E7E7E7FF 007E0C1830607E00FF81F3E7CF9F81FF 003C303030303C00FFC3CFCFCFCFC3FF 006030180C060200FF9FCFE7F3F9FDFF 003C0C0C0C0C3C00FFC3F3F3F3F3C3FF 00183C6600000000FFE7C399FFFFFFFF 0000000000007E00FFFFFFFFFFFF81FF #15:MAIN SOUND 0800303A0000000018008066004F0000 08006060000000002800303019FE0000 38002020000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000