'>>>ADDS 2 GAMEPADS<<< GAMEPAD 2 '------------------------------- START: 'READY SET GO! SOUND FOR COUNTDOWN TO ROUND START BG 1 BG COPY 0,0,32,32 TO 0,0 WAIT 60 SOUND 1,0,8,20 LOCATE 8,2 PAL 4 PRINT "READY" PLAY 1,39 WAIT 60 LOCATE 7,2 PRINT " " LOCATE 9,2 PAL 7 PRINT "SET" PLAY 1,39 WAIT 60 LOCATE 7,2 PRINT " " LOCATE 9,2 PAL 3 PRINT "GO!" PLAY 1,51 WAIT 30 '>>>TIMER<<< RTIMER=16 '>>>PLAYER 1 STARTING POS<<< X=48 Y=60 '>>>PLAYER 2 STARTING POS<<< X1=104 Y1=60 '>>>METER FOR P1<<< MET=38 '>>>METER FOR P2<<< MET1=110 '------------------------------- '>>>START OF GAMEPAD/SPRITE/BG LOOP<<< DO CLS BG 1 BG COPY 0,0,32,32 TO 0,0 '>>>TIMER<<< PAL 7 PRINT " ";INT(RTIMER) PAL 0 '>>>COLLISION FOR P1<<< COLN=CELL.C(INT(X/8),(Y/8)-0.2) COLS=CELL.C(INT(X/8),INT(Y/8)+1) COLW=CELL.C((X/8)-0.2,INT(Y/8)) COLE=CELL.C(INT(X/8)+1,INT(Y/8)) '>>>COLLISION FOR P2<<< COLN1=CELL.C(INT(X1/8),(Y1/8)-0.2) COLS1=CELL.C(INT(X1/8),INT(Y1/8)+1) COLW1=CELL.C((X1/8)-0.2,INT(Y1/8)) COLE1=CELL.C(INT(X1/8)+1,INT(Y1/8)) '------------------------------- '>>>MOVEMENT/SOUND FOR PLAYER 1< '[DIRECTION] (0-1) (0)P1 (1)P2 '>>>INVISIBILITY/METER<<< '(((METER DEPLETION/REGEN))) IF BUTTON(0) THEN MET=MET-0.80 ELSE MET=MET+0.1 '(((TIED TO INV PAL))) IF BUTTON(0) AND MET > 5 THEN SPRITE 0 PAL 1 ELSE SPRITE 0 PAL 0 '(((METER COL TIED TO INV DURATION))) IF SPRITE HIT (2,3) THEN MET=38 IF SPRITE HIT (2,4) THEN MET=6 SOUND 2,1,1,5 '>>>MOVEMENT FOR P1<<< IF UP(0) AND COLN <3 THEN Y=Y-1 IF UP(0) THEN PLAY 2,13 IF DOWN(0) AND COLS <3 THEN Y=Y+1 IF DOWN(0) THEN PLAY 2,17 IF LEFT(0) AND COLW <3 THEN X=X-1 IF LEFT(0) THEN PLAY 2,18 IF RIGHT(0) AND COLE <3 THEN X=X+1 IF RIGHT(0) THEN PLAY 2,15 '-------------------------------- '>>>MOVEMENT FOR PLAYER 2<<< '>>>SPRINT/METER FOR P2<<< '(((METER DEPLETION/REGEN))) IF BUTTON(1) THEN MET1=MET1+0.90 ELSE MET1=MET1-0.1 '(((TIED TO SPRINT))) IF BUTTON(1) AND UP(1) AND COLN1 <3 AND MET1 < 142 THEN Y1=Y1-0.60 IF BUTTON(1) AND DOWN(1) AND COLS1 <3 AND MET1 < 142 THEN Y1=Y1+0.60 IF BUTTON(1) AND LEFT(1) AND COLW1 <3 AND MET1 < 142 THEN X1=X1-0.60 IF BUTTON(1) AND RIGHT(1) AND COLE1 <3 AND MET1 < 142 THEN X1=X1+0.60 '(((METER COL TIED TO SPRINT DURATION))) IF SPRITE HIT (5,6) THEN MET1=110 IF SPRITE HIT (5,7) THEN MET1=142 IF SPRITE HIT (5,7) THEN SPRITE 1 PAL 1 ELSE SPRITE 1 PAL 0 SOUND 3,2,15,5 VOLUME 3,2,2 IF UP(1) AND COLN1 <3 THEN Y1=Y1-1 IF UP(1) THEN PLAY 3,29 IF DOWN(1) AND COLS1 <3 THEN Y1=Y1+1 IF DOWN(1) THEN PLAY 3,33 IF LEFT(1) AND COLW1 <3 THEN X1=X1-1 IF LEFT(1) THEN PLAY 3,34 IF RIGHT(1) AND COLE1 <3 THEN X1=X1+1 IF RIGHT(1) THEN PLAY 3,31 '------------------------------- 'SPRITES FOR BOTH PLAYERS 'USUALLY THE X & Y VALUES WOULD 'BE FIXED PUT REPLACING THEM 'WITH VAR ALLOWS THEM TO MOVE 'BY UPDATING POS USING GAMEPAD '>>>PLAYERS 1&2<<< SPRITE 0,X,Y,1 SPRITE 1,X1,Y1,2 '>>>METER FOR P1<<< SPRITE 2,MET,0,4 SPRITE 2 PAL 2 '>>>P1 TOP OF METER<<< SPRITE 3,40,0,6 '>>>P1 BOTTOM OF METER<<< SPRITE 4,9,0,7 '>>>METER FOR P2<<< SPRITE 5,MET1,0,8 SPRITE 5 PAL 3 '>>>P2 TOP OF METER<<< SPRITE 6,112,0,7 '>>>P2 BOTTOM OF METER<<< SPRITE 7,144,0,6 '------------------------------- '>>>TIMER END<<< IF RTIMER <= 1 THEN GOTO P1SCORES RTIMER=RTIMER-0.016 '>>GAMEOVER\RESTRT GAME LOOP<< IF SPRITE HIT (0) THEN GOTO GAMEOVER WAIT VBL LOOP '-------------------------------- '>>>PLAYER 2 TAGS PLAYER 1<<< GAMEOVER: PAL 3 PRINT " BLACK SCORES" WAIT 60 CLS PAL 0 P2SCORES=P2SCORES+1 IF P2SCORES=1 THEN SPRITE 10,88,0,10 SPRITE 10 PAL 2 ELSE IF P2SCORES=2 THEN SPRITE 11,96,0,10 SPRITE 11 PAL 2 BG 1 BG COPY 0,0,32,32 TO 0,0 WAIT 120 IF P2SCORES=2 THEN GOTO GAMEEND1 END IF GOTO START '------------------------------- 'PLAYER 1 SCORES/OUTLAST TIMER P1SCORES: PAL 2 PRINT " WHITE SCORES" WAIT 80 CLS PAL 0 P1SCORES=P1SCORES+1 IF P1SCORES=1 THEN SPRITE 8,64,0,10 SPRITE 8 PAL 2 ELSE IF P1SCORES=2 THEN SPRITE 9,56,0,10 SPRITE 9 PAL 2 BG 1 BG COPY 0,0,32,32 TO 0,0 WAIT 120 IF P1SCORES=2 THEN GOTO GAMEEND END IF GOTO START '------------------------------- GAMEEND: FOR E=1 TO 5 SPRITE 8 PAL 1 SPRITE 9 PAL 1 WAIT 10 SPRITE 8 PAL 2 SPRITE 9 PAL 2 WAIT 10 NEXT E SPRITE OFF P1SCORES=0 P2SCORES=0 PAL 5 PRINT "" PRINT " WHITE WINS!" WAIT 120 CLS PAL 0 GOTO START '------------------------------- GAMEEND1: FOR N=1 TO 5 SPRITE 10 PAL 1 SPRITE 11 PAL 1 WAIT 10 SPRITE 10 PAL 2 SPRITE 11 PAL 2 WAIT 10 NEXT N SPRITE OFF P2SCORES=0 P1SCORES=0 PAL 5 PRINT "" PRINT " BLACK WINS!" WAIT 120 CLS PAL 0 GOTO START '------------------------------- #1:MAIN PALETTES 043F2F0000040404003C0C0000331C00 003C300C003C3F00003B003F003F3E15 #2:MAIN CHARACTERS 00000000000000000000000000000000 3C7EFFFFFFFF7E3C0000001818000000 3C7EFFFFFFFF7E3C3C7EFFE7E7FF7E3C 0000000000000000FF81BDA5A5BD81FF 00000505050500000000020202020000 FFFF00000000FFFFFFFF00000000FFFF FFFF03030303FFFFFFFF03030303FFFF FFFFC0C0C0C0FFFFFFFFC0C0C0C0FFFF 00000505050500000000020202020000 000000000000000000000000000000FF 003C7E7E7E7E3C000000000000000000 00000000000000003C4281818181423C #3:MAIN BG 00001410030007020502050205020602 03000B000B00090109010B000B000300 07000500050005000600030003000000 00000000000000000000000000000000 00000000000000000000000000000000 00000300030000000000000000000000 00000000000000000000000000000000 00000000000000000000030003000000 00000300030000000000000000000000 00000000000000000000030003000000 00000300030000000000030000000000 00000000000000000000000000000000 00000000030000000000030003000000 00000000000000000000000003000000 00000300000000000000000000000000 00000300030000000000000000000000 00000300030000000000030003000000 00000000000000000000030003000000 00000000000000000000000000000000 00000000000000000000000000000000 00000300030000000000000000000000 00000000000000000000000000000000 00000000000000000000030003000000 00000000000000000000030003000000 00000300030000000000000000000000 00000300030000000000000000000000 00000000030000000000030000000000 00000000000000000000030003000000 00000300000000000000000000000000 00000000000000000000000003000000 00000300030000000000030003000000 00000000000000000000000000000000 00000300030000000000030003000000 00000000000000000000000000000000 00000000000000000000000000000000 00000300030000000000000000000000 00000000000000000000000000000000 00000000000000000000030003000300 03000300030003000300030003000300 03000300030003000300030003000300 03000300