GAMEPAD 1 REM WAS8BIT RANDOMIZE TIMER DIM GLOBAL XDAT(4000),YDAT(4000) GLOBAL DATIN,DATOUT,IDIFF GLOBAL PX,PY,EMPTY,HEAD,BLOCK,GATE,FOOD,NEW,INEW,SCORE DATIN=0 DATOUT=0 PX=9 PY=7 ISTEP=0 IDIFF=3 EMPTY=0 HEAD=1 BLOCK=2 GATE=3 FOOD=4 NEW=BLOCK BG 1 CELL PX,PY,HEAD CALL POP SCORE=0 DO RR=RIGHT(0) LL=LEFT(0) H=RR OR LL UU=UP(0) DD=DOWN(0) V=UU OR DD R=RR AND NOT V L=LL AND NOT V U=UU AND NOT H D=DD AND NOT H IF R THEN CALL GO(1,0) ELSE IF L THEN CALL GO(-1,0) ELSE IF U THEN CALL GO(0,-1) ELSE IF D THEN CALL GO(0,1) WAIT VBL LOOP SUB GO(X,Y) BG 1 CX=PX CY=PY ADD CX,X,0 TO 19 ADD CY,Y,0 TO 15 CC=CELL.C(CX,CY) IF CC=EMPTY OR CC=GATE OR CC=FOOD THEN PLAY 0,50,1 ADD INEW,1,1 TO IDIFF IF INEW=1 THEN NEW=GATE ELSE NEW=BLOCK CELL PX,PY,NEW XDAT(DATIN)=PX YDAT(DATIN)=PY ADD DATIN,1,0 TO 4000 PX=CX PY=CY CELL PX,PY,HEAD IF CC=FOOD THEN CALL POP WAIT VBL IGO=5+SCORE\IDIFF^2 IF IDIFF=5 THEN IGO=SCORE/10 IF IGO>15 THEN IGO=15 WHILE IGO>0 CELL XDAT(DATOUT),YDAT(DATOUT),0 ADD DATOUT,1,0 TO 4000 DEC IGO IF DATOUT=DATIN THEN IGO=0 PLAY 2,90,1 WAIT VBL WEND END IF ELSE BG TINT 0,0 TO 19,15 PAL 1 END END IF WAIT 15 END SUB SUB POP INC SCORE IF SCORE=25 THEN IDIFF=4 IF SCORE=50 THEN IDIFF=5 BG 0 NUMBER 0,0,SCORE,3 BG 1 C=999 WHILE C>0 X=RND(19) Y=RND(15) C=CELL.C(X,Y) WEND CELL X,Y,FOOD PLAY 1,80,1 END SUB #2:MAIN CHARACTERS 00000000000000000000000000000000 3C4281818181423C0000000000000000 3C7EFFFFFFFF7E3C0000000000000000 2466C30000C366240000000000000000 00001428142800000000000000000000