'FONT SET BY BGELAIS FONT 128 GAMEPAD 1 RANDOMIZE TIMER CELL SIZE 1,1 BG 1 BG COPY 0,0,10,8 TO 0,0 DIM GLOBAL XBOARD(30),YBOARD(30),PBOARD(30),Z1BOARD(31),Z2BOARD(31) FOR I=1 TO 30 READ XBOARD(I),YBOARD(I) NEXT I DATA 0,2,1,2,2,2,3,2,4,2,5,2,6,2,7,2,8,2,9,2 DATA 9,4,8,4,7,4,6,4,5,4,4,4,3,4,2,4,1,4,0,4 DATA 0,6,1,6,2,6,3,6,4,6,5,6,6,6,7,6,8,6,9,6 SPRITE 0,0,2*16,38 SPRITE 0 SIZE 1 PAL 7 FOR I=1 TO 5 SPRITE I SIZE 1 PAL 1 SPRITE I,,,34 NEXT I FOR I=6 TO 10 SPRITE I SIZE 1 PAL 2 SPRITE I,,,36 NEXT I SPRITE 11,0,16, SPRITE 11 SIZE 1 PAL 5 RESET: NEW_GAME: P1=1 P2=6 FOR I=1 TO 30 IF I>10 THEN PBOARD(I)=0 ELSE IF I\2<>I/2 THEN PBOARD(I)=P1 INC P1 ELSE PBOARD(I)=P2 INC P2 END IF END IF NEXT I CALL SHOWBOARD IFLASH=0 CFLASH=40 CURSOR=1 MOVE=1 PSCORE=0 CSCORE=0 IROUND=0 IROLL=0 IPLAY=0 BG 0 PAL 3 TEXT 9,1,"GAME" NUMBER 10,0,IROUND,2 NEXT_PLAYER: ADD IPLAY,1,1 TO 2 IF IPLAY=1 THEN GOTO PLAYER ELSE GOTO COMPUTER PLAYER: BG 0 PAL 3 TEXT 2,1,"PLAYER" NUMBER 3,0,PSCORE,2 PAL 0 TEXT 16,1,"COMP" NUMBER 17,0,CSCORE,2 CALL ROLL(IROLL) MDIR=1 DLOOK=1 PLOOK=0 WHILE PLOOK<1 OR PLOOK>5 ADD CURSOR,DLOOK,1 TO 30 PLOOK=PBOARD(CURSOR) WEND DO ADD IFLASH,1,0 TO 5 IF IFLASH=0 THEN IF RIGHT(0) THEN DLOOK=1 ELSE IF LEFT(0) THEN DLOOK=-1 ELSE DLOOK=0 IF DLOOK<>0 THEN PLOOK=0 WHILE PLOOK<1 OR PLOOK>5 ADD CURSOR,DLOOK,1 TO 30 PLOOK=PBOARD(CURSOR) WEND END IF SPRITE OFF 11 PC=PBOARD(CURSOR) IF PC>0 AND PC<=5 AND IPLAY=1 THEN CM=CURSOR+IROLL*MDIR IF IROLL>0 AND CM>=1 AND CM<=30 THEN SPRITE 11,XBOARD(CM)*16,YBOARD(CM)*16,CFLASH DEST=PBOARD(CM) IF (DEST=0 OR DEST>5) AND BUTTON(0,0) THEN ' SWAP_CHECK=1 IF Z2BOARD(CM)>1 THEN SWAP_CHECK=0 IF Z2BOARD(CM)=1 AND Z2BOARD(CM+1)=2 THEN SWAP_CHECK=0 ' BLOCK_CHECK=1 IF IROLL>=4 AND CURSOR<36 THEN FOR BC=3 TO IROLL BCC=Z2BOARD(CURSOR+IROLL*MDIR) IF BCC>2 THEN BLOCK_CHECK=0 NEXT BC END IF ' PLAY 0,90,10 SOUND 0 IF DEST=0 THEN PBOARD(CURSOR)=0 PBOARD(CM)=PC CALL SHOWBOARD SPRITE OFF 11 GOTO NEXT_PLAYER ELSE IF SWAP_CHECK=1 AND BLOCK_CHECK=1 THEN PBOARD(CURSOR)=DEST PBOARD(CM)=PC CALL SHOWBOARD SPRITE OFF 11 GOTO NEXT_PLAYER ELSE TRACE Z2BOARD(CM) END IF END IF END IF END IF IF DOWN(0) THEN MDIR=-1 IF UP(0) THEN MDIR=1 ADD CFLASH,2,38 TO 42 SPRITE 0,XBOARD(CURSOR)*16,YBOARD(CURSOR)*16,CFLASH END IF WAIT VBL LOOP COMPUTER: BG 0 PAL 0 TEXT 2,1,"PLAYER" NUMBER 3,0,PSCORE,2 PAL 3 TEXT 16,1,"COMP" NUMBER 17,0,CSCORE,2 CALL CROLL(IROLL) MDIR=1 DO ADD IFLASH,1,0 TO 5 IF IFLASH=0 THEN CLOOK=0 WHILE CLOOK<=5 CURSOR=RND(29)+1 CLOOK=PBOARD(CURSOR) WEND TRACE CLOOK SPRITE OFF 11 PC=PBOARD(CURSOR) IF PC>5 AND IPLAY=2 AND RND(3)>1 THEN CM=CURSOR+IROLL*MDIR IF IROLL>0 AND CM>=1 AND CM<=30 THEN SPRITE 0,XBOARD(CURSOR)*16,YBOARD(CURSOR)*16,CFLASH SPRITE 11,XBOARD(CM)*16,YBOARD(CM)*16,CFLASH DEST=PBOARD(CM) IF (DEST<=5) AND RND(3)>1THEN ' SWAP_CHECK=1 IF Z1BOARD(CM)>1 THEN SWAP_CHECK=0 IF Z1BOARD(CM)=1 AND Z1BOARD(CM+1)=2 THEN SWAP_CHECK=0 ' BLOCK_CHECK=1 IF IROLL>=4 AND CURSOR<36 THEN FOR BC=3 TO IROLL BCC=Z1BOARD(CURSOR+IROLL*MDIR) IF BCC>2 THEN BLOCK_CHECK=0 NEXT BC END IF ' IF DEST=0 OR (DEST>0 AND SWAP_CHECK=1 AND BLOCK_CHECK=1) THEN PLAY 0,90,100 SOUND 0 FOR IW=1 TO 60 ADD CFLASH,2,38 TO 42 SPRITE 0,XBOARD(CURSOR)*16,YBOARD(CURSOR)*16,CFLASH SPRITE 11,XBOARD(CM)*16,YBOARD(CM)*16,CFLASH WAIT 3 NEXT IW IF DEST=0 THEN PBOARD(CURSOR)=0 PBOARD(CM)=PC CALL SHOWBOARD SPRITE OFF 11 GOTO NEXT_PLAYER ELSE PBOARD(CURSOR)=DEST PBOARD(CM)=PC CALL SHOWBOARD SPRITE OFF 11 GOTO NEXT_PLAYER END IF WAIT 60 END IF END IF END IF END IF IF RND(10)=0 THEN MDIR=-1 IF RND(10)=0 THEN MDIR=1 ADD CFLASH,2,38 TO 42 SPRITE 0,XBOARD(CURSOR)*16,YBOARD(CURSOR)*16,CFLASH END IF WAIT VBL LOOP SUB SHOWBOARD Z1=0 Z2=0 BG 0 CLS 0 FOR I=1 TO 30 P=PBOARD(I) IF P>0 THEN 'CHECKS IF P<=5 THEN Z2=0 Z2BOARD(I)=0 INC Z1 Z1BOARD(I)=Z1 ELSE IF P>5 THEN Z1=0 Z1BOARD(I)=0 INC Z2 Z2BOARD(I)=Z2 END IF ELSE Z1=0 Z2=0 Z1BOARD(I)=0 Z2BOARD(I)=0 END IF REM TEXT XBOARD(I)*2,YBOARD(I)*2,STR$(Z1BOARD(I)) REM TEXT XBOARD(I)*2,YBOARD(I)*2+1,STR$(Z2BOARD(I)) SPRITE P,XBOARD(I)*16,YBOARD(I)*16, IF I>10 AND I<=20 THEN SPRITE P FLIP -1,0 ELSE SPRITE P FLIP 0,0 NEXT I END SUB SUB ROLL(I) SPRITE 0,,,0 WAIT 30 PLAY 0,50,1 SOUND 0 BG 0 PAL 3 TEXT 9,0,"ROLL" TEXT 9,1," ] " WHILE NOT BUTTON(0,1) WAIT VBL WEND PLAY 0,50,1 WAIT 30 WHILE NOT BUTTON(0,1) S1=RND(100) S2=RND(100) S3=RND(100) S4=RND(100) IF S1>40 THEN S1=1 ELSE S1=0 IF S2>40 THEN S2=1 ELSE S2=0 IF S3>40 THEN S3=1 ELSE S3=0 IF S4>40 THEN S4=1 ELSE S4=0 TEXT 9,0,STR$(S1)+STR$(S2)+STR$(S3)+STR$(S4) PLAY 0,40,1 SOUND 0 WAIT 3 WEND PLAY 0,50,1 SOUND 0 WAIT 30 N=S1+S2+S3+S4 IF N=0 THEN I=6 ELSE I=N TEXT 9,1," "+STR$(I)+" " END SUB SUB CROLL(I) S1=0 S2=0 S3=0 S4=0 SPRITE 0,,,0 WAIT 30 PLAY 0,50,1 SOUND 0 BG 0 PAL 3 TEXT 9,0,"ROLL" TEXT 9,1," " WHILE RND(10)>0 WAIT VBL WEND PLAY 0,50,1 WAIT 30 WHILE RND(25)>0 S1=RND(100) S2=RND(100) S3=RND(100) S4=RND(100) IF S1>40 THEN S1=1 ELSE S1=0 IF S2>40 THEN S2=1 ELSE S2=0 IF S3>40 THEN S3=1 ELSE S3=0 IF S4>40 THEN S4=1 ELSE S4=0 TEXT 9,0,STR$(S1)+STR$(S2)+STR$(S3)+STR$(S4) PLAY 0,40,1 SOUND 0 WAIT 3 WEND PLAY 0,50,1 SOUND 0 WAIT 30 N=S1+S2+S3+S4 IF N=0 THEN I=6 ELSE I=N TEXT 9,1," "+STR$(I)+" " END SUB #1:MAIN PALETTES 053F0800003F380000282400003F3F00 002A2A15002E2A04003F2A15003F3000 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 007F7F7F7F7F7F7F007F7F7F7F7F7F7F 00FEFEFEFEFEFEFE00FEFEFEFEFEFEFE 000000000000000FFFFFFFFFFFFFFFFF 0000000000C0E0F0FFFFFFFFFFFFFFFF 000000000003070FFFFFFFFFFFFFFFFF 00000000000000F0FFFFFFFFFFFFFFFF 0000000001010101FFFFFFFFFFFFFFFF 0000000080808080FFFFFFFFFFFFFFFF 00000F1020202020FFFFFFFFFFFFFFFF 0000F00804040404FFFFFFFFFFFFFFFF 0040201008040201FFFFFFFFFFFFFFFF 0002040810204080FFFFFFFFFFFFFFFF 00552A552A542850FFFFFFFFFFFFFFFF 0055AA552A150A05FFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 7F7F7F7F7F7F7F007F7F7F7F7F7F7F00 FEFEFEFEFEFEFE00FEFEFEFEFEFEFE00 0F00000000000000FFFFFFFFFFFFFFFF F0E0C00000000000FFFFFFFFFFFFFFFF 0F07030000000000FFFFFFFFFFFFFFFF F000000000000000FFFFFFFFFFFFFFFF 0707030100000000FFFFFFFFFFFFFFFF E0E0C08000000000FFFFFFFFFFFFFFFF 20202020100F0000FFFFFFFFFFFFFFFF 0404040408F00000FFFFFFFFFFFFFFFF 0102040810204000FFFFFFFFFFFFFFFF 8040201008040200FFFFFFFFFFFFFFFF 205028542A552A00FFFFFFFFFFFFFFFF 02050A152A55AA00FFFFFFFFFFFFFFFF FEFEBFB7F6E6FEBEFFFFBFB7F6E6FEBE 7F7FFDED6F677F7BFFFFFDED6F677F7B 0F1F3C3D037E00010F19237F7FFFFFFF 006818666666009EE0F8FC98BA99FFED 070F0F1F1E101010001236646DEFEFEF 60F0F0E000EE660080684CDEFEFFFFFF 5B800080800080803680800080800080 6C01010001010001DA01000101000101 6D008080008080005B80008080008080 B6000101000101006C01010001010001 36808000808000806D00808000808000 DA01000101000101B600010100010100 0F1F3C3D037E0001FFF9E3FFFFFFFFFF 006818666666009EFFFFFF99BB99FFED 070F0F1F1E101010F8F2F6E4EDEFEFEF 60F0F0E000EE66009F6F4FDFFFFFFFFF B8F8ECE6F37BBEFEB8F8ECE6F37BBFFF 1B1F3767CFDD7B7F1B1F3767CFDDFBFF 433E0000110E0000FFFFFF7F7F3F1F07 3F3F3FBE00306040EDFFFFECFEFCF8E0 383F3F7F7F3F1F07C7C0C00000000000 3CFEFC8080000000C31D037E7EFCF8E0 8000808000808036808000808000805B 01010001010001DA010001010001016C 008080008080006D8000808000808036 00010100010100B601010001010001DA 808000808000805B008080008080006D 010001010001016C00010100010100B6 433E0000110E0000FFFFFFFFFFFFFFFF 3F3F3FBE00306040EDFFFFEDFFFFFFFF 383F3F7F7F3F1F07C7C0C08080C0E0F8 3CFEFC8080000000C31D037F7FFFFFFF 007E7A423E007E7E007E7A423E007E7E 009EE698BA98FE72009EE698BA98FE72 007D797B737F7F7F007D797B737F7F7F 009EBE3EFE1098FE009EBE3EFE1098FE 007967195D197F4E007967195D197F4E 007E5E427C007E7E007E5E427C007E7E 00797D7C7F08197F00797D7C7F08197F 00BE9EDECEFEFEFE00BE9EDECEFEFEFE 004070787C7C7E7E7F7F7F7F7F7F7F7F 00020E1E3E3E7E7EFEFEFEFEFEFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 3C417F7F6E717F003C417F7F6E717F00 D2C0C052FECE8E00D2C0C052FECE8E00 7F7F7F7F7F7F7F007F7F7F7F7F7F7F00 FEE2FEFEFEFEFE00FEE2FEFEFEFEFE00 4B03034A7F7371004B03034A7F737100 3C82FEFE768EFE003C82FEFE768EFE00 7F477F7F7F7F7F007F477F7F7F7F7F00 FEFEFEFEFEFEFE00FEFEFEFEFEFEFE00 7E7E7C7C787040007F7F7F7F7F7F7F7F 7E7E3E3E1E0E0200FEFEFEFEFEFEFEFE 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 08080808380808383838383838383838 00000012123600000000003636360000 00337C7D31405D220011035F133F7F22 187EF9FFE2E9836E08022F8FFE3FFF7E 0072767C183161470010127408172747 30787071D2C2CD73102850235E4EBF73 00001E1C080000000000021408000000 000C18181808040C0004080808180C0C 00181C0C04040C10000814040C0C1C10 185E7C18246A4E18080A44081C3E5E18 181818F1EF0808180808080FFF181818 0000000004041408000000001C1C1C18 000000727E0000000000000E7E000000 000000000004041C00000000001C1C1C 00000004081020400000040C18306040 7EFDE1E1E1E1837E023B27272727FF7E 1C3C3C1C1C14223E04042404040C1E3E 7EFDC1126CF081FF023BC70E1C307FFF 7EFDC13239C1837E023BC70E3F07FF7E 0E1E3A62E1F3011F0202162E1FFF1F1F FEFEE0F2F9E1837E023E200EFF27FF7E 7EFDE7F2F9E1837E023B270E3F27FF7E 7FFD8A140404041C017B860C1C1C1C1C 7EFDE1F3F9E1817E023B270F3F27FD7E 7EFDE17109F9837E023B270F0F3FFF7E 001C141C04041C0000040C1C1C1C1C00 001C141C0404140800040C1C1C1C1C18 0204081020100A06060C183030180E06 0000797F617F00000000077F1F7F0000 181C0A050204081008140E07060C1810 3C7E664E1C180818043A22460C181818 3E7DFEFCFCE4BD42023F675D5D7DFF7E 1C1C3A3A617D98FF0404061E1F3F7FFF FEFD7172795183FE029B170E1F377FFE 7EFDE1E7E1E1033E023B272727277F3E FEFD7171715183FE029B171717377FFE FEFD73747C4083FE029F130C1C227FFE FEFD73747C5088F8029F130C1C3078F8 7EFDE1E7E1E5817F023B27272F27FF7F FE757171715181770113170F17377E77 3E3E1C140404023E0226040C1C1C3E3E 19030202A222867C070F0E0E6EEEFE7C FF7F7C78645289FF091304081C3E7FFF F0F07070705183FC0090101010337FFC E7FD7971795999FF259B070F1F3F7EFF E67579717159957721130F0F1F3F7677 7EFDE1E1E1E1837E023B27272727FF7E FE7D7171635E88F8021B17171F3E78F8 7EFDE1E1E5FB857E023F27273F3FFF7E FEFD7172795189FF029B170E1F377EFF 7EFDE7F279E1837E023B278E7F27FF7E 7EFE1D140404023E0067050C1C1C3E3E FFFF75717151433E1099131717377F3E E7677A76242C08182123165E1C3C1818 FEFD797161593563199B1F0F1F3F7763 F6FD7A34225991F7119B462C1E3F76F7 F6F57A340404023E1193462C1C1C3E3E 7FFF1C3870E083FE0173040810227FFE 7EFFFFFEFCF4E17E0018243D272F9F7E 66FFFBF7FF7E3C186699858981422418 7EFFFFFEFCF8E17E00382439273F9F7E #3:MAIN BG 00010A082C0100000000000000000002 00002E02000000004000420040004200 40004200400042004000420004000400 04000400040004000400040004000800 44004600440046004400460044004600 44002000080006000600060006000600 06000600060006002000460044004600 44004600440046004400460004000400 0400040004000A000C000A000A000E00 40004200400042004000420040004200 40004200