TOUCHSCREEN RANDOMIZE TIMER DIM GLOBAL CPOP(64),PPOP(64),PPICK(3),DPICK(7) DIM CNUM(15) DIM GLOBAL TABLE(9,7,256),DECK(256) FOR I=0 TO 15 READ CNUM(I) NEXT I DATA 2,4,6,8,10,12,14,32,34 DATA 36,38,40,42,44,46,64,68 GLOBAL ISCORE, TOTAL, CARDZ REM MATCH EXTREME REM WAS8BIT IPLAY=0 REPLAY: INC IPLAY CLS PAL 0 IF IPLAY=4 THEN TEXT 0,6," MATCH EXTREME WON" TEXT 0,8," FINAL SCORE ....." NUMBER 7,10,TOTAL,5 PLAY 0,61,30 SOUND 0 PLAY 1,65,30 SOUND 0 PLAY 2,68,30 SOUND 0 PLAY 3,73,30 SOUND 0 END END IF TEXT 0,6,">>> ROUND "+STR$(IPLAY)+" OF 3 <<<" PLAY 0,37,30 SOUND 0 PLAY 1,41,30 SOUND 0 PLAY 2,44,30 SOUND 0 PLAY 3,49,30 SOUND 0 WAIT 60 WHILE NOT TAP WEND CLS WAIT 60 FOR I=0 TO 7 DPICK(I)=I NEXT I FOR I=1 TO 100 R1=RND(7) R2=RND(7) SWAP DPICK(R1),DPICK(R2) NEXT I FOR I=0 TO 3 PPICK(I)=DPICK(I) NEXT I ISCORE=0 I=1 CPOP(0)=68 PPOP(0)=6 FOR C=0 TO 15 FOR P=0 TO 3 CPOP(I)=CNUM(C) PPOP(I)=PPICK(P) DECK(I)=I DECK(I+64)=I DECK(I+128)=I DECK(I+192)=I INC I NEXT P NEXT C FOR I=1 TO 1000 C1=RND(254)+1 C2=RND(254)+1 SWAP DECK(C1),DECK(C2) NEXT I IF IPLAY=1 THEN D=256 FOR I=0 TO 2 FOR X=0 TO 9 FOR Y=0 TO 7 TABLE(X,Y,I)=DECK(D) DEC D NEXT Y NEXT X NEXT I REM FOR X=3 TO 6 FOR Y=2 TO 5 TABLE(X,Y,I)=DECK(D) DEC D NEXT Y NEXT X ELSE IF IPLAY=2 THEN D=256 FOR I=0 TO 4 FOR X=1 TO 8 FOR Y=1 TO 6 TABLE(X,Y,I)=DECK(D) DEC D NEXT Y NEXT X NEXT I REM FOR X=3 TO 6 FOR Y=2 TO 5 TABLE(X,Y,I)=DECK(D) DEC D NEXT Y NEXT X ELSE IF IPLAY=3 THEN D=256 FOR I=0 TO 3 FOR X=2 TO 7 FOR Y=2 TO 5 CALL ADDTABLE(X,Y,DECK(D)) DEC D NEXT Y NEXT X NEXT I REM FOR I=0 TO 3 FOR X=0 TO 9 FOR Y=3 TO 4 CALL ADDTABLE(X,Y,DECK(D)) DEC D NEXT Y NEXT X NEXT I REM FOR I=0 TO 3 FOR X=4 TO 5 FOR Y=0 TO 7 CALL ADDTABLE(X,Y,DECK(D)) DEC D NEXT Y NEXT X NEXT I REM FOR X=3 TO 6 FOR Y=2 TO 5 CALL ADDTABLE(X,Y,DECK(D)) DEC D NEXT Y NEXT X END IF CALL SHOWTABLE IANI=6 ICURSOR=0 DO IF TAP THEN BG 1 IF ICURSOR=0 THEN CLS 0 ICURSOR=1 CX=(TOUCH.X\16)*2 CY=(TOUCH.Y\16)*2 CP1=CELL.A(CX,CY) PICK1=CELL.C(CX,CY) ELSE TX=(TOUCH.X\16)*2 TY=(TOUCH.Y\16)*2 IF TX<>CX OR TY<>CY AND ICURSOR=1 THEN BG 1 PICK2=CELL.C(TX,TY) CP2=CELL.A(TX,TY) IF PICK1=68 OR PICK2=68 THEN IF PICK1=68 AND PICK2<>68 THEN TABLE(CX\2,CY\2,0)=TABLE(TX\2,TY\2,0) TABLE(TX\2,TY\2,0)=0 ZX=CX ZY=CY GOSUB ZZZ ELSE IF PICK2=68 AND PICK1<>68 THEN TABLE(TX\2,TY\2,0)=TABLE(CX\2,CY\2,0) TABLE(CX\2,CY\2,0)=0 ZX=TX\2 ZY=TY\2 GOSUB ZZZ END IF CLS 0 ICURSOR=2 ELSE IF PICK1=PICK2 AND CP1=CP2 THEN TABLE(TX\2,TY\2,0)=0 TABLE(CX\2,CY\2,0)=0 PLAY 0,49,1 SOUND 0 ISCORE=ISCORE+2 CALL DEALTABLE CALL SHOWTABLE CLS 0 ICURSOR=2 ELSE CLS 0 ICURSOR=2 END IF END IF END IF ELSE IF ICURSOR=2 THEN ICURSOR=0 END IF IF ICURSOR=1 THEN IPAL=(IPAL+1) MOD 8 PAL IPAL BG 0 CELL CX,CY,66 CELL CX+1,CY,67 CELL CX,CY+1,82 CELL CX+1,CY+1,83 END IF IWAIT=(IWAIT+1) MOD 120 IF IWAIT=0 THEN ADD IANI,2,0 TO 6 COPY $8000+16*(70+IANI),16 TO $8000+16*68 COPY $8000+16*(86+IANI),16 TO $8000+16*84 COPY $8000+16*(71+IANI),16 TO $8000+16*69 COPY $8000+16*(87+IANI),16 TO $8000+16*85 IF IANI=2 THEN BG 0 TEXT 0,0,STR$(ISCORE) REM TEXT 9,0,STR$(CARDZ) TEXT 8,0,STR$(IPLAY)+"/3" NUMBER 15,0,TOTAL,5 PLAY 0,25,1 SOUND 0 ELSE IF IANI=4 THEN CLS 0 END IF END IF IF CARDZ=0 THEN GOTO ENDROUND WAIT VBL LOOP ENDROUND: PLAY 0,49,90 SOUND 0 PLAY 1,56,90 SOUND 0 PLAY 2,58,90 SOUND 0 PLAY 3,61,90 SOUND 0 WAIT 120 TOTAL=TOTAL+ISCORE TEXT 0,0,STR$(ISCORE) NUMBER 15,0,TOTAL,5 PLAY 0,73,30 WAIT 60 TOTAL=TOTAL+ISCORE TEXT 0,0,STR$(ISCORE) NUMBER 15,0,TOTAL,5 PLAY 0,73,30 WAIT 60 GOTO REPLAY ZZZ: IF ZX>0 AND ZX<9 AND ZY>0 AND ZY<7 THEN PLAY 0,32,1 SOUND 0 ELSE PLAY 0,45,1 SOUND 0 ISCORE=ISCORE-3 END IF CALL DEALTABLE CALL SHOWTABLE RETURN SUB ADDTABLE(X,Y,D) FOR I=0 TO 256 IF TABLE(X,Y,I)=0 THEN TABLE(X,Y,I)=D I=999 END IF NEXT I END SUB SUB DEALTABLE FOR X=0 TO 9 FOR Y=0 TO 7 FOR I=0 TO 255 IF TABLE(X,Y,I)=0 AND TABLE(X,Y,I+1)>0 THEN TABLE(X,Y,I)=TABLE(X,Y,I+1) TABLE(X,Y,I+1)=0 PLAY 1,44,1 SOUND 0 ELSE REM I=256 END IF NEXT I NEXT Y NEXT X END SUB SUB SHOWTABLE BG 1 CARDZ=0 FOR X=0 TO 9 FOR Y=0 TO 7 T=TABLE(X,Y,0) IF T>0 THEN INC CARDZ CALL POP(X*2,Y*2,TABLE(X,Y,0)) NEXT Y NEXT X END SUB SUB POP(X,Y,I) PAL PPOP(I) C=CPOP(I) CELL X,Y,C CELL X+1,Y,C+1 CELL X,Y+1,C+16 CELL X+1,Y+1,C+17 END SUB #1:MAIN PALETTES 153B3B1000382410003C2814000C0C08 000F0A05000B0B010023130100333322 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 0007071F1F7F7F7F07183F6868888888 00E0E0F8F8FEFEFEE018FC3636313131 0007071F1F7F7F7F07183B6161818181 00E0E0F8F8FEFEFEE0189C8686818181 0007071F1F7F7F7F07183F6060808087 00E0E0F8F8FEFEFEE018FC36363131E1 0007071F1F7F7F7F07183F6060808087 00E0E0F8F8FEFEFEE018FC36363131E1 00070F1F1F7F7F7F0718306868888887 00E0E0F8F8FEFEFEE0181C36363131F1 00070F1F1F7F7F7F07183F6868888887 00E0E0F8F8FEFEFEE018FC06060101E1 0007071F1F7F7F7F07183F686888888F 00E0E0F8F8FEFEFEE018FC06060101E1 00000000000000000000000000000000 00000000000000000000000000000000 7F7F7F1F1F0707008888886867381807 FEFEFCF8F8E0E00031313336E61C18E0 7F7F7F1F1F0707008181816167381807 FEFEFEF8F8E0E00081818186E61C18E0 7F7F7F1F1F070700888888686F381807 FEFEFEF8F8E0E00001010106E61C18E0 7F7F7F1F1F0707008080806067381807 FEFEFEF8F8E0E00031313136E61C18E0 7F7F7F1F1F0707008080806060381807 FEFEFEF8F8E0E00031313136061C18E0 7F7F7F1F1F0707008080806067381807 FEFEFEF8F8E0E00031313136E61C18E0 7F7F7F1F1F0707008888886867381807 FEFEFEF8F8E0E00031313136E61C18E0 0007071F1F7F7F7F07183F6060808080 00E0E0F8F8FEFEFEE018FC3636313131 0007071F1F7F7F7F07183F6868888887 00E0E0F8F8FEFEFEE018FC36363131E1 0007071F1F7F7F7F07183F6868888887 00E0E0F8F8FEFEFEE018FC36363131F1 0007071F1F7F7F7F07183F6C6C8C8C8F 00E0E0F8F8FEFEFEE018FC16161111F1 00070F1F1F7F7F7F07183F6C6C8C8C8F 00E0E0F8F8FEFEFEE018DC26161121C1 0007071F1F7F7F7F07183F6C6C8C8C8C 00E0E0F8F8FEFEFEE018FC0606010101 00070F1F1F7F7F7F07183F6C6C8C8C8C 00E0E0F8F8FEFEFEE018DC2616111111 00070F1F1F7F7F7F07183F6C6C8C8C8F 00E0E0F8F8FEFEFEE018FC06060101E1 7F7F7F1F1F0707008080806060381807 FEFEFEF8F8E0E00031313136061C18E0 7F7F7F1F1F0707008888886867381807 FEFEFEF8F8E0E00031313136E61C18E0 7F7F7F1F1F0707008080806067381807 FEFEFEF8F8E0E00031313136E61C18E0 7F7F7F1F1F0707008C8C8C6C60381807 FEFEFEF8F8E0E00011111116061C18E0 7F7F7F1F1F0707008C8C8C6C6F381807 FEFEFEF8F8E0E00021111126C61C18E0 7F7F7F1F1F0707008C8C8C6C67381807 FEFEFEF8F8E0E00001010106E61C18E0 7F7F7F1F1F0707008C8C8C6C6F381807 FEFEFEF8F8E0E00011111126C61C18E0 7F7F7F1F1F0707008C8C8C6C6F381807 FEFEFEF8F8E0E00001010106E61C18E0 00070F1F1F7F7F7F07183F6C6C8C8C8F 00E0E0F8F8FEFEFEE018FC06060101E1 FFF8E0C0C08080800000000000000000 FF1F0703030101010000000000000000 00071F3F3F7F7F7F00071F3F3F7F7F7F 00E0F8FCFCFEFEFE00E0F8FCFCFEFEFE AA57BF7FBF7FFF7FAA57BF7FBF7FFF7F AAF5FAFDFEFFFEFFAAF5FAFDFEFFFEFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AA57BF7FBF7FFF7FAA57BF7FBF7FFF7F AAF5FAFDFEFFFEFFAAF5FAFDFEFFFEFF 00071F3F3F7F7F7F00071F3F3F7F7F7F 00E0F8FCFCFEFEFE00E0F8FCFCFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 7F7F7F1F1F0707008C8C8C6C6C381807 FEFEFEF8F8E0E00001010106061C18E0 808080C0C0E0F8FF0000000000000000 0101010303071FFF0000000000000000 7F7F7F3F3F1F07007F7F7F3F3F1F0700 FEFEFEFCFCF8E000FEFEFEFCFCF8E000 FF7FFF7FBF5FAF55FF7FFF7FBF5FAF55 FEFFFEFDFEFDEA55FEFFFEFDFEFDEA55 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF7FFF7FBF5FAF55FF7FFF7FBF5FAF55 FEFFFEFDFEFDEA55FEFFFEFDFEFDEA55 7F7F7F3F3F1F07007F7F7F3F3F1F0700 FEFEFEFCFCF8E000FEFEFEFCFCF8E000 #15:MAIN SOUND 180030BB000000001800846C003A0000 08006060000000002800303019FE0000 38002020000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000