RANDOMIZE TIMER ON RASTER CALL HEX_RASTER REM WAS8BIT GLOBAL HEX_DENT,HEX_XCURSOR,HEX_YCURSOR HEX_DENT=4 SPRITE 0,0,0,4 SPRITE 0 PAL 1 GAMEPAD 1 DIM GLOBAL HEX_MAP(40,15) BG 1 FOR Y=0 TO 15 YY=Y MOD 2 XX=2+YY*4 FOR X=0 TO 36 STEP 2 CX=X\2 CELL CX,Y,1 REM IF RND(10)=0 THEN CELL CX,Y,RND(1)+2 NEXT X NEXT Y HEX_XCURSOR=0 HEX_YCURSOR=0 DO CALL HEX_CURSOR_MOVE IF BUTTON (0,0) THEN CELL HEX_XCURSOR\2,HEX_YCURSOR,2 PLAY 0,70,1 WAIT 15 END IF IF BUTTON (0,1) THEN CELL HEX_XCURSOR\2,HEX_YCURSOR,3 PLAY 0,60,1 WAIT 15 END IF WAIT 6 LOOP SUB HEX_CURSOR_MOVE U=UP(0) D=DOWN(0) L=LEFT(0) R=RIGHT(0) DIR=0 IF U AND R THEN DIR=1 IF R AND (NOT U AND NOT D) THEN DIR=2 IF D AND R THEN DIR=3 IF D AND L THEN DIR=4 IF L AND (NOT U AND NOT D) THEN DIR=5 IF L AND U THEN DIR=6 YDENT=HEX_YCURSOR MOD 2 IF DIR=1 THEN IF HEX_XCURSOR<36 AND HEX_YCURSOR>0 THEN DEC HEX_YCURSOR ADD HEX_XCURSOR,YDENT*2 END IF ELSE IF DIR=2 THEN IF HEX_XCURSOR<36 THEN ADD HEX_XCURSOR,2 END IF ELSE IF DIR=3 THEN IF HEX_XCURSOR<36 AND HEX_YCURSOR<15 THEN INC HEX_YCURSOR ADD HEX_XCURSOR,YDENT*2 END IF ELSE IF DIR=4 THEN IF HEX_XCURSOR>0 AND HEX_YCURSOR<15 THEN INC HEX_YCURSOR YY=(YDENT+1) MOD 2 ADD HEX_XCURSOR,-YY*2 END IF ELSE IF DIR=5 THEN IF HEX_XCURSOR>0 THEN ADD HEX_XCURSOR,-2 END IF ELSE IF DIR=6 THEN IF HEX_XCURSOR>0 AND HEX_YCURSOR>0 THEN DEC HEX_YCURSOR YY=(YDENT+1) MOD 2 ADD HEX_XCURSOR,-YY*2 END IF END IF SPRITE 0,HEX_XCURSOR*4+YDENT*4+2,HEX_YCURSOR*8, TRACE HEX_XCURSOR,HEX_YCURSOR,SPRITE.X(0),SPRITE.Y(0) WAIT VBL END SUB REM Y=0:0.2,2.10,4.18,6.26,8.34,10.42 REM Y=0,X.2+X*4 REM Y=1,X.6+X*4 SUB HEX_WRITE(X,Y,C) PLAY 0,50,1 CELL X\2,Y,C WAIT 6 END SUB SUB HEX_READ(X,Y,I) END SUB SUB HEX_RASTER Y=RASTER MOD 8 IF Y=0 THEN ADD HEX_DENT,4,0 TO 4 SCROLL 1,-HEX_DENT-2,0 END SUB #1:MAIN PALETTES 0500300C003C2814003C0C00003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 FF8199BDBD9981FF0000000000000000 FF99BDFFFFBD99FF00183C7E7E3C1800 FF818181818181FF00183C7E7E3C1800 8118245A5A241881005A3C66663C5A00