'LOX BOX: RULES '============== ' 'PLAY ALL DICE 'OR GAME OVER ' 'PLAY 2 DICE WHOSE 'SUM MATCHES TOP# 'TO WIN NEXT SQUARE UP ' 'IF SUM<>TOP# THEN 'THAT COLUMN CANNOT SCORE RANDOMIZE TIMER DIM GLOBAL DICE(8),BOARD(9,7,1),DICESUM(9),SUMSCORE(9) FOR I=0 TO 9 READ DICESUM(I) NEXT I DATA 2,3,4,5,6,8,9,10,11,12 FOR I=0 TO 9 READ SUMSCORE(I) NEXT I DATA 1000,1200,1200,1000,600,800,1800,3000,4400,6000 GLOBAL BTNHAND,BTNDISCARD,BTNPLAY,BTNADVANCE,BTNSCORE GLOBAL BTNCHECK,BTNREROLL,BTNREPLAY,BTNLAST,SCORE,ITOUCH BTNHAND=130 BTNDISCARD=76 BTNPLAY=32 BTNADVANCE=2 BTNLAST=78 BTNSCORE=4 BTNCHECK=128 BTNREROLL=130 BTNREPLAY=132 SPRITE 0,,,117 FOR I=1 TO 8 SPRITE I SIZE 1 NEXT I TOUCHSCREEN REM WAS8BIT REPLAY: TRACE "REPLAY" FONT 192 CLS TEXT 0,1," LOX BOX" TEXT 0,2," =======" TEXT 0,4,"1# = 4 DICE (HARD)" TEXT 0,5,"##" TEXT 0,8,"2# = 6 DICE " TEXT 0,9,"##" TEXT 0,12,"3# = 8 DICE (EASY)" TEXT 0,13,"##" WAIT 120 PLAY 0,90,1 SOUND 1 DO IF TOUCH THEN TX=TOUCH.X\16 TY=TOUCH.Y\16 TC=CELL.C(TX*2,TY*2)-208 IF TC>=1 AND TC<=3 THEN DICEMAX=TC*2+2 GOTO START END IF END IF WAIT VBL LOOP START: BG COPY 0,0,20,16 TO 0,0 SCORE=0 FONT 102 TEXT 0,1,"%&'()" TEXT 0,2,"!"+CHR$(34)+"#$" NUMBER 4,2,DICEMAX,1 NEWDICE: IF DICEMAX=8 THEN CALL POP(18,4,76) IF DICEMAX>=6 THEN CALL POP(18,2,76) CALL POP(0,4,BTNCHECK) FOR I=1 TO DICEMAX DICE(I)=RND(5)+1 SPRITE I,I*16,8*14,62+DICE(I)*2 PLAY 3,30,6 SOUND 3 WAIT 6 NEXT I ITOUCH=0 DO NUMBER 0,0,SCORE,5 IF TOUCH THEN TX=TOUCH.X\16 TY=TOUCH.Y\16 TC=CELL.C(TX*2,TY*2) IF ITOUCH=0 THEN ITOUCH=100 IF TX=0 AND TY=2 THEN IF TC=BTNCHECK THEN CALL CHECK CALL CHECK IF ITOUCH=0 THEN WAIT 120 WHILE NOT TOUCH WAIT VBL WEND GOTO REPLAY END IF END IF IF TC=BTNREROLL THEN GOTO NEWDICE ELSE SPRITE 0,TOUCH.X,TOUCH.Y, IF SPRITE HIT(0) THEN ITOUCH=1 ITOUCH=HIT TDX=SPRITE.X(0)-SPRITE.X(HIT) TDY=SPRITE.Y(0)-SPRITE.Y(HIT) OLDX=SPRITE.X(HIT) OLDY=SPRITE.Y(HIT) SPRITE OFF 0 END IF END IF ELSE IF ITOUCH>0 AND ITOUCH<64 THEN SPRITE ITOUCH,TOUCH.X-TDX,TOUCH.Y-TDY, END IF ELSE IF ITOUCH>0 AND ITOUCH<64 THEN IF TC=BTNPLAY OR TC=BTNDISCARD OR TC=BTNLAST THEN SPRITE ITOUCH,TX*16,TY*16, ELSE IF TY=7 THEN SPRITE ITOUCH,TX*16,TY*16, IF SPRITE HIT(ITOUCH) THEN SPRITE ITOUCH,OLDX,OLDY, ELSE SPRITE ITOUCH,OLDX,OLDY, END IF END IF ITOUCH=0 END IF IF SPRITE.X(0)>0 THEN SPRITE OFF 0 IF ITOUCH=100 THEN ITOUCH=0 END IF WAIT VBL LOOP SUB CHECK DIM DSET(8),SPR(8),TBL(8) IPLAY=0 FOR IY=1 TO 6 FOR IX=0 TO 9 C=CELL.C(IX*2,IY*2) IF (C=BTNPLAY OR C=BTNLAST) THEN INC IPLAY SPRITE 0,IX*16+8,IY*16+8, TNUM=0 IHIT=0 FOR II=1 TO 8 IF SPRITE HIT(0,II) THEN INC IHIT X=SPRITE.X(II)\8 Y=SPRITE.Y(II)\8 C=CELL.C(X,Y) D=SPRITE.C(II) TBL(II)=C DSET(II)=D SPR(II)=II INC TNUM ELSE SPR(II)=-1 END IF NEXT II IF TNUM=2 THEN TABLE=0 TOTAL=0 FOR I=1 TO 8 IF SPR(I)>0 THEN TABLE=TBL(I) N=DSET(I) N=((N-64)\2)+1 ADD TOTAL,N END IF NEXT I IF TABLE=BTNDISCARD AND TOTAL=7 THEN FOR I=1 TO 8 IF SPR(I)>0 THEN PLAY 1,60,1 SOUND 1 SPRITE OFF SPR(I) END IF NEXT I ELSE IF (TABLE=BTNPLAY OR TABLE=BTNLAST) AND TOTAL=DICESUM(IX) THEN FOR I=1 TO 8 IF SPR(I)>0 THEN CALL POP(IX*2,IY*2,34) CUP=CELL.C(IX*2,IY*2-2) IF CUP=BTNADVANCE THEN CALL POP(IX*2,IY*2-2,BTNPLAY) PLAY 1,60,1 SOUND 1 ELSE IF CUP=BTNSCORE THEN CALL POP(IX*2,IY*2-2,BTNLAST) PLAY 1,60,1 SOUND 1 ELSE IF TABLE=BTNLAST THEN ADD SCORE,SUMSCORE(IX) PLAY 1,80,1 SOUND 2 END IF SPRITE OFF SPR(I) END IF NEXT I ELSE PLAY 3,30,90 SOUND 3 FOR I=1 TO 8 IF SPR(I)>0 THEN CALL POP(SPRITE.X(SPR(I))\8,SPRITE.Y(SPR(I))\8,36) SPRITE OFF SPR(I) END IF NEXT I END IF ELSE FOR I=1 TO 8 IF SPR(I)>0 THEN CALL REPOP(SPR(I)) NEXT I END IF NEXT IX NEXT IY DTOT=0 FOR I=1 TO 8 IF SPRITE.X(I)>=0 THEN INC DTOT NEXT I IF DTOT=0 THEN WAIT 60 PLAY 2,50,90 SOUND 2 CALL POP(0,4,BTNREROLL) END IF TRACE IPLAY IF IPLAY=0 THEN PLAY 0,20,90 SOUND 0 CALL POP(0,4,BTNREPLAY) ITOUCH=0 SPRITE OFF FOR I=0 TO 3 CALL POP(I*2,14,I*2+134) CALL POP(I*2+12,14,I*2+160) NEXT I END IF END SUB SUB REPOP(I) IY=7 XPUT=-32 FOR IX=0 TO 9 SPRITE 0,IX*16+8,IY*16+8, IF NOT SPRITE HIT(0) THEN XPUT=IX NEXT IX SPRITE I,XPUT*16,IY*16, END SUB SUB POP(X,Y,C) FOR IY=0 TO 1 FOR IX=0 TO 1 CELL X+IX,Y+IY,C+IX+IY*16 NEXT IX NEXT IY END SUB #1:MAIN PALETTES 0B3F300000383400003C0C00003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 00000000030408080000000000000000 00000000C02010100000000000000000 000000000304090B0000000000000000 00000000C02090D00000000000000000 FFFFFFFFFFFFFFFF0000031F1F00003F FEFEFEFEFEFEFEFE0000C0E0F0381CFC FFFFFFFFFFFFFFFF0000030707000000 FEFEFEFEFEFEFEFE0000C0E0F0381CFC FFFFFFFFFFFFFFFF00000C0C0C1C383F FEFEFEFEFEFEFEFE0000303030381CFC FFFFFFFFFFFFFFFF000003070F1C383F FEFEFEFEFEFEFEFE0000C0F8F80000FC FFFFFFFFFFFFFFFF000003070E1C383F FEFEFEFEFEFEFEFE0000E0E0000000F0 00000000000000000000000000000000 00000000000000000000000000000000 08080403000000000000000000000000 101020C0000000000000000000000000 0B090403000000000000000000000000 D09020C0000000000000000000000000 FFFFFFFFFFFFFF003F381C0F07030000 FEFEFEFEFEFEFE00FC0000F8F8C00000 FFFFFFFFFFFFFF000000000707030000 FEFEFEFEFEFEFE00FC1C38F0E0C00000 FFFFFFFFFFFFFF003F00000000000000 FEFEFEFEFEFEFE00FC1C383030300000 FFFFFFFFFFFFFF003F00001F1F030000 FEFEFEFEFEFEFE00FC1C38F0E0C00000 FFFFFFFFFFFFFF003F381C0F07030000 FEFEFEFEFEFEFE00F81838F0E0C00000 07182040408080800000000000000000 E0180402020101010000000000000000 0000000000000030FFFFFFFFFFFFFFFF 000000000C1C3870FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF000030381C0E0703 FFFFFFFFFFFFFFFF00000C1C3870E0C0 FFFFFFFFFFFFFFFF000003070F1C383F FEFEFEFEFEFEFEFE0000C0E0F0381CFC FFFFFFFFFFFFFFFF000003070F1C181F FEFEFEFEFEFEFEFE0000C0E0F0381CFC FFFFFFFFFFFFFFFF000018191B1B3A3A FEFEFEFEFEFEFEFE0000C0E0F0381818 FFFFFFFFFFFFFFFF0000181818183838 FEFEFEFEFEFEFEFE0000303030383838 FFFFFFFFFFFFFFFF0000181B1B18383B FEFEFEFEFEFEFEFE0000C0E0F03818F8 80808040402018070000000000000000 01010102020418E00000000000000000 383D1F0F06000000FFFFFFFFFFFFFFFF E0C0800000000000FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF03070E1C38300000 FFFFFFFFFFFFFFFFC0E070381C0C0000 FFFFFFFFFFFFFF003F381C0F07030000 FEFEFEFEFEFEFE00FC1C38F0E0C00000 FFFFFFFFFFFFFF000F00000007070000 FEFEFEFEFEFEFE00FC1C3870E0C00000 FFFFFFFFFFFFFF003A3A1B1B19180000 FEFEFEFEFEFEFE00181838F0E0C00000 FFFFFFFFFFFFFF003838181818180000 FEFEFEFEFEFEFE003838303030300000 FFFFFFFFFFFFFF003B3A1B1B19180000 FEFEFEFEFEFEFE00F80000F8F8C00000 000000000000000100071F3F3F7F7F7F 000000000000008000E0F8FCFCFEFEFE 000000000000000000071F3F3F7F7F7F 000000003030000000E0F8FCFCFEFEFE 000000000000000100071F3F3F7F7F7F 000000003030008000E0F8FCFCFEFEFE 000000000C0C000000071F3F3F7F7F7F 000000003030000000E0F8FCFCFEFEFE 000000000C0C000100071F3F3F7F7F7F 000000003030008000E0F8FCFCFEFEFE 000000000C0C000C00071F3F3F7F7F7F 000000003030003000E0F8FCFCFEFEFE 0718275850A0A0A00000000000000000 E018E41A0A0505050000000000000000 07182040408081830000000000000000 E0180402020181C10000000000000000 01000000000000007F7F7F3F3F1F0700 8000000000000000FEFEFEFCFCF8E000 00000C0C000000007F7F7F3F3F1F0700 0000000000000000FEFEFEFCFCF8E000 01000C0C000000007F7F7F3F3F1F0700 8000000000000000FEFEFEFCFCF8E000 00000C0C000000007F7F7F3F3F1F0700 0000303000000000FEFEFEFCFCF8E000 01000C0C000000007F7F7F3F3F1F0700 8000303000000000FEFEFEFCFCF8E000 0C000C0C000000007F7F7F3F3F1F0700 3000303000000000FEFEFEFCFCF8E000 A0A0A050582718070000000000000000 0505050A1AE418E00000000000000000 83818040402018070000000000000000 C1810102020418E00000000000000000 FFFFFFFFFFFFFFFF000003070F0C0000 FEFEFEFEFEFEFEFE0000C0E0F0381C1C 00003028282830000000000000000000 10083000182020200000000000000000 30283028280030280000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00302828283000000000000000000000 00381010103800000000000000000000 00182020201800000000000000000000 00382038203800000000000000000000 00182010083000000000000000000000 00182020201800000000000000000000 00102828281000000000000000000000 00302830282800000000000000000000 00382038203800000000000000000000 FFFFFFFFFFFFFF000000000000000000 FEFEFEFEFEFEFE001C1C181818180000 38101010380018200000000000000000 18001028382828000000000000000000 28283000000000000000000000000000 80000000000000000000000000000000 182C4646462C18000000000000000000 18181818181810000000000000000000 780C067E5C403E000000000000000000 780C061C060C78000000000000000000 6C6C447E040C0C000000000000000000 1E3E203E02063C000000000000000000 1C30407C462C18000000000000000000 786C0606060C0C000000000000000000 182C463C462C18000000000000000000 182C463E060C38000000000000000000 1F3F7FFFFFFFFFFF1F204080808080B0 F8FCFEFFFFFFFFFFF80402010D1D3971 1F3F7FFFFFFEFEFE1F2043868C898989 F8FCFEFFFF1F5F9FF804F2190DE5E5E5 1F3F7FFFFFFFFFFF1F2042859DA5A5A4 F8FCFEFFFFFFFFFFF804A25159555505 071F387060C0C0C00000000000000000 F8F800000000007F0000000000000000 071F387060C0C0FF0000000000000000 E0F81C0E060303FF0000000000000000 061F397161C1C1C00000000000000000 60F89C8E868383030000000000000000 071F387060C0C0FF0000000000000000 E0F81800000000800000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 FFFFFFFFFF7F3F1FB8BD9F8F8640201F FFFFFFFFFFFEFCF8E1C18101010204F8 FEFFFFFFFF7F3F1F89BE9C898140201F 1FFFFFFFFFFEFCF8E505050D99F204F8 FFFFFFFFFF7F3F1FA4A0A0908F40201F FFFFFFFFFFFEFCF805050509F10204F8 C0C0C06070381F070000000000000000 7F0303060E1CF8E00000000000000000 FFC0C060606060600000000000000000 FF030306060606060000000000000000 C0C0C060606060600000000000000000 03030306060606060000000000000000 FFC0C06070381F070000000000000000 800000000018F8E00000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 071F387060C0C0C00000000000000000 E0F81C0E060303030000000000000000 60606060603030180000000000000000 06060606060C0C180000000000000000 071F387060C0C0FF0000000000000000 E0F81800000000800000000000000000 071F387060C0C0FF0000000000000000 E0F81C0E060307FE0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 C0C0C06070381F070000000000000000 030303060E1CF8E00000000000000000 180C0C06060301010000000000000000 1830306060C080800000000000000000 FFC0C06070381F070000000000000000 800000000018F8E00000000000000000 FFC0C060606060600000000000000000 FCE070381C0E07030000000000000000 #3:MAIN BG 00001410000000000000000000000000 000000000E000F002600270000000000 00000000000062006000610000000000 0000000000000000000000001E001F00 36003700000000000000000000007200 70007100000000000000000000000000 0C000D00040005000400050028002900 00000000000063000000000000000000 00000000000000001C001D0014001500 14001500380039000000000000007300 0000000000000000000000000A000B00 04000500020003000200030004000500 2A002B00000064000000000000000000 000000001A001B001400150012001300 12001300140015003A003B0000007400 00000000000000000800090004000500 02000300020003000200030002000300 040005002C002D000000000000000000 18001900140015001200130012001300 1200130012001300140015003C003D00 00000000060007000400050002000300 02000300020003000200030002000300 02000300040005002E002F0016001700 14001500120013001200130012001300 12001300120013001200130014001500 3E003F00040005000200030002000300 02000300020003000200030002000300 02000300020003000400050014001500 12001300120013001200130012001300 12001300120013001200130012001300 14001500200021002000210020002100 20002100200021002000210020002100 20002100200021002000210030003100 30003100300031003000310030003100 30003100300031003000310030003100 30003100000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000 #15:MAIN SOUND 210010FF10B5F0001800806C10000000 0800608810FC00002800303019FE0000 38002020000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000