RANDOMIZE TIMER GAMEPAD 1 REM WAS8BIT REM PLACE ROCKS FOR I=1 TO 25 CELL RND(19),RND(15),1 NEXT I REM PLACE RINGS FOR I=1 TO 10 CELL RND(19),RND(15),3 NEXT I REM PLACE BOARDERS BG FILL 0,0 TO 19,0 CHAR 1 BG FILL 0,15 TO 19,15 CHAR 1 BG FILL 0,0 TO 0,15 CHAR 1 BG FILL 19,0 TO 19,15 CHAR 1 REM PLACE PLAYER GLOBAL PX, PY, R PX=72 PY=56 R = -1 SPRITE 0,PX,PY,2 GLOBAL RINGS RINGS=0 PAL 1 TEXT 0,0,"RINGS=" 'MAIN GAME LOOP DO REM SHOW HOW MANY RINGS COLLECTED PAL 1 NUMBER 6,0,RINGS,2 REM PROCESS GAMEPAD IF UP(0) THEN CALL CHKCORS(PX, PY-1, R) IF R = -1 THEN DEC PY ELSE IF DOWN(0) THEN CALL CHKCORS(PX, PY+1, R) IF R = -1 THEN INC PY ELSE IF LEFT(0) THEN CALL CHKCORS(PX-1, PY, R) IF R = -1 THEN DEC PX ELSE IF RIGHT(0) THEN CALL CHKCORS(PX+1, PY, R) IF R = -1 THEN INC PX END IF SPRITE 0,PX,PY,2 WAIT VBL LOOP 'PROCESS COLLISION CHECK 'MOVE IF POSSIBLE 'PICK UP RINGS IF POSSIBLE SUB CHKCORS(X, Y, R) R = -1 CALL CHKCELL(X/8, Y/8, R) CALL CHKCELL((X+7)/8, Y/8, R) CALL CHKCELL(X/8, (Y+7)/8, R) CALL CHKCELL((X+7)/8, (Y+7)/8, R) END SUB SUB CHKCELL(X,Y,R) C = CELL.C(X,Y) REM PICKUP RING IF C=3 THEN INC RINGS PLAY 0,90,1 CELL X,Y,0 WAIT 15 END IF REM HIT A WALL IF C=1 THEN R = 0 PLAY 2,20,5 WAIT 10 PLAY 2,20,5 END IF END SUB #1:MAIN PALETTES 140C3C3000303015003C0C00003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0018187E182442000000000000000000 00000000000000000000182424180000