RANDOMIZE TIMER REM WAS8BIT TOUCHSCREEN SPRITE 0,,,1 FOR I=1 TO 60 SPRITE.A I,(,,,,1) NEXT I REM REM DROP AND POP REM WAS8BIT REM BASED ON APP GAME "DROP 7" REM BG 1 BG COPY 0,0,20,16 TO 0,0 BG 0 DIM GLOBAL GRID(7,7), POPID(7,7) DIM GLOBAL NI(60),NN(60) REM NI=0: AVAILABLE TO BE USED REM NI=1: USED, TO BE DROPPED REM NI=2: USED, MOVING REM NI=3: USED, NOT MOVING GLOBAL PSCORE, ISCORE NEWGAME: PSCORE=0 ISCORE=1 GLOBAL IBALL IBALL=100 DO10: CDROP=10 GOSUB COMDROP CDROP=1 DO ISCORE=1 DEC IBALL NUMBER 0,0,IBALL,2 CALL GETNUM CALL DEWDROPS GOSUB RUNIT GOSUB COMDROP LOOP RUNIT: CHECKIT: WAIT 60 CALL GETPOP(I) IF I>0 THEN CALL DEWDROPS GOTO CHECKIT END IF RETURN COMDROP: FOR I=1 TO CDROP CALL NEWNUM CALL DEWDROPS NEXT I GOSUB RUNIT RETURN SUB GETPOP(IPOP) CLS 0 FOR X=1 TO 7 FOR Y=1 TO 7 POPID(X,Y)=0 NEXT Y NEXT X IPOP=0 FOR X=1 TO 7 FOR Y=1 TO 7 V=0 H=0 CC=GRID(X,Y) IF CC>0 THEN H=1 FOR IX=X-1 TO 1 STEP -1 C=GRID(IX,Y) IF C=0 THEN IX=1 ELSE INC H NEXT IX FOR IX=X+1 TO 7 C=GRID(IX,Y) IF C=0 THEN IX=7 ELSE INC H NEXT IX V=1 FOR IY=Y-1 TO 1 STEP -1 C=GRID(X,IY) IF C=0 THEN IY=1 ELSE INC V NEXT IY FOR IY=Y+1 TO 7 C=GRID(X,IY) IF C=0 THEN IY=7 ELSE INC V NEXT IY REM TEXT X*2,Y,STR$(H)+STR$(V) REM NUMBER X,Y,NN(CC),1 IF V=NN(CC) OR H=NN(CC) THEN POPID(X,Y)=CC SPRITE CC,,,32 SPRITE.A CC,(1) REM NUMBER X*2*4,Y*2-4,NN(CC),1 NI(CC)=0 IPOP=1 END IF END IF NEXT Y NEXT X WAIT 15 SPOP=0 IF IPOP=1 THEN PLAY 1,90,1 SOUND 1 FOR X=1 TO 7 FOR Y=1 TO 7 IF POPID(X,Y)>0 THEN SPRITE POPID(X,Y),,,0 GRID(X,Y)=0 INC SPOP END IF NEXT Y NEXT X END IF CALL SCOREIT(SPOP) END SUB SUB SCOREIT(I) IADD=I*(2^ISCORE) ADD PSCORE,IADD*10,0 TO 99999999 INC ISCORE BG 1 NUMBER 6,0,PSCORE,6 NUMBER 16,0,IADD*10,4 BG 0 END SUB SUB DEWDROPS IDROP=99 WHILE IDROP>0 IDROP=0 FOR Y=6 TO 0 STEP -1 FOR X=1 TO 7 IF GRID(X,Y)<>0 AND GRID(X,Y+1)=0 THEN IDROP=1 I=GRID(X,Y) GRID(X,Y)=0 GRID(X,Y+1)=I FOR IY=1 TO 4 SPRITE I,,Y*16+IY*4, PLAY 0,50-SPRITE.Y(I)/3,1 SOUND 0 WAIT VBL NEXT IY END IF NEXT X NEXT Y WEND END SUB SUB NEWNUM N=RND(6)+1 I=0 II=99 WHILE II>0 INC I II=NI(I) WEND NX=RND(6)+1 NI(I)=1 SPRITE I,NX*16,0,N*2 SPRITE.A I,(0) NN(I)=N GRID(NX,0)=I END SUB SUB GETNUM N=RND(6)+1 I=0 II=99 WHILE II>0 INC I II=NI(I) WEND NI(I)=1 SPRITE I,0,0,N*2 SPRITE.A I,(0) WHILE NOT TOUCH WAIT VBL WEND WHILE TOUCH PLAY 2,40,1 SOUND 2 NX=TOUCH.X\16 IF NX<1 THEN NX=1 IF NX>7 THEN NX=7 SPRITE I,NX*16,0,N*2 WAIT VBL WEND NN(I)=N GRID(NX,0)=I END SUB #1:MAIN PALETTES 103F3F00003F3C38003C0C00003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 071F3F7F7FFFFFFF0000000301010101 E0F8FCFEFEFFFFFF0000008080808080 071F3F7F7FFFFFFF0000070700000000 E0F8FCFEFEFFFFFF0000C0E030303070 071F3F7F7FFFFFFF0000030300000003 E0F8FCFEFEFFFFFF0000C0E0303030E0 071F3F7F7FFFFFFF0000000C0C0C0F0F E0F8FCFEFEFFFFFF000000303030F0F0 071F3F7F7FFFFFFF00000F0F0C0C0C07 E0F8FCFEFEFFFFFF0000E0E0000000E0 071F3F7F7FFFFFFF000003070C0C0F0F E0F8FCFEFEFFFFFF0000C0C00000C0E0 071F3F7F7FFFFFFF0000070700000000 E0F8FCFEFEFFFFFF0000F0F030303030 00000000000000000000000000000000 00000000000000000000000000000000 FFFFFF7F7F3F1F070101010107000000 FFFFFFFEFEFCF8E080808080E0000000 FFFFFF7F7F3F1F070001030707070000 FFFFFFFEFEFCF8E0E0C08000F0F00000 FFFFFF7F7F3F1F070300000003030000 FFFFFFFEFEFCF8E0E0303030E0C00000 FFFFFF7F7F3F1F070000000000000000 FFFFFFFEFEFCF8E03030303030300000 FFFFFF7F7F3F1F070300000007070000 FFFFFFFEFEFCF8E0F0303030E0C00000 FFFFFF7F7F3F1F070C0C0C0703000000 FFFFFFFEFEFCF8E0303030E0C0000000 FFFFFF7F7F3F1F070000000000000000 FFFFFFFEFEFCF8E03030303030000000 00400010000401020040021000001000 00020008002080400002400800000400 80000000000000000000000000000000 01000000000000000000000000000000 80808080808080800000000000000000 01000000000000000000000000000000 80000000000000000000000000000000 01010101010101010000000000000000 80000000000000000000000000000000 01000000000000000000000000000000 80808080808080800000000000000000 01000000000000000000000000000000 80000000000000000000000000000000 01010101010101010000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 02010400100040000010000010024000 40802000080002000004000008400200 00000000000000800000000000000000 00000000000000010000000000000000 80808080808080800000000000000000 00000000000000010000000000000000 00000000000000800000000000000000 01010101010101010000000000000000 00000000000000FF0000000000000000 00000000000000FF0000000000000000 80808080808080FF0000000000000000 00000000000000FF0000000000000000 00000000000000FF0000000000000000 01010101010101FF0000000000000000 00000000000000550000000000000000 00000000000000550000000000000000 7FC080808080A5B5003F7F7F7F7F7F7F FE0301010101A32300FCFEFEFEFEFEFE 7FC0808080A4CAEE003F7F7F7F7F7F7F FE03010101ADA9AD00FCFEFEFEFEFEFE 7FC0808080808080003F7F7F7F7F7F7F FE0301010101010100FCFEFEFEFEFEFE 7FC0808080808080003F7F7F7F7F7F7F FE0301010101010100FCFEFEFEFEFEFE 80000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 ADA5A5808080C07F7F7F7F7F7F7F3F00 AB2B9501010103FEFEFEFEFEFEFEFC00 AACA80808080C07F7F7F7F7F7F7F3F00 A94D0101010103FEFEFEFEFEFEFEFC00 808080808080C07F7F7F7F7F7F7F3F00 01010101010103FEFEFEFEFEFEFEFC00 808080808080C07F7F7F7F7F7F7F3F00 01010101010103FEFEFEFEFEFEFEFC00 #3:MAIN BG 00001410000000002E002F002E002F00 2E002F002E002F002E002F002E002F00 2E002F00000000000000000000000000 3E003F003E003F003E003F003E003F00 3E003F003E003F003E003F0000000000 00000000000000002400250022002300 22002300220023002200230022002300 26002700E400F200EF00F00000000000 34003500320033003200330032003300 3200330032003300360037000000E100 EE00E400000000002400250022002300 22002300220023002200230022002300 260027000000F000EF00F00000000000 34003500320033003200330032003300 32003300320033003600370000000000 00000000000000002400250022002300 22002300220023002200230022002300 26002700E200F9000000000000000000 34003500320033003200330032003300 32003300320033003600370000000000 00000000000000002400250022002300 22002300220023002200230022002300 26002700F70000004200430000000000 34003500320033003200330032003300 320033003200330036003700E1000000 52005300000000002400250022002300 22002300220023002200230022002300 26002700F30000000000000000000000 34003500320033003200330032003300 320033003200330036003700D8000000 00000000000000002400250022002300 22002300220023002200230022002300 26002700E20000000000000000000000 34003500320033003200330032003300 320033003200330036003700E9000000 00000000000000002A002B0028002900 28002900280029002800290028002900 2C002D00F40000004000410000000000 3A003B00380039003800390038003900 38003900380039003C003D0000000000 50005100 #15:MAIN SOUND 0800F011004F5F003800100010100000 0800300000FF0F002800303019FE0000 38002020000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 00404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040