プログラム中に日本語で説明を書き込んでいますが、その部分は入力しないでください。矢印も入力しないでください。
CANVAS 32,24,"BLOCKS";
CHARBOX@ 32,22,0,1,1,7,0;
HI=0;
FOR;
SC=0; PL=6;
FOR;
CHARBOX@ 30,22,1,2,0,7,0;
FOR Y=4,10; CHARBOX@ 30,1,1,Y,1,10-Y,0; NEXT;
BL=180; PX=13; PY=22; BX=20; BY=21; VX=1; VY= -1;
FOR T=0,999999;
CHARBOX@ PL,1,PX,PY,1,7,0;
IF T%2==0 THEN
FOR I=1,4;
X=BX; Y=BY;
IF I==1 OR I==3 THEN X+=VX; FI;
IF I==2 OR I==3 THEN Y+=VY; FI;
IF GETCH@(X,Y)!=0 THEN
IF X!=BX THEN VX= -VX; FI;
IF Y!=BY THEN VY= -VY; FI;
IF GETCHCOL@(X,Y)!=0XFFFFFF THEN
SC+=10-Y; BL--;
CHAR@ X,Y,0,0,0;
FI;
FI;
NEXT;
IF GETCH@(BX+VX,BY+VY)==0 THEN BX+=VX; BY+=VY; FI;
FI;
CHAR@ BX,BY,2,7,0;
HI=MAX(HI,SC);
PRINT@ 8,0,7,0,"SCORE:%05d HIGH:%05d",SC,HI;
IF BY==23 GOTO OVER;
IF BL==0 BREAK;
I=INKEY@WRC(50);
CHARBOX@ PL,1,PX,PY,0,0,0;
X=PX+XMOVE(I);
Y=PY+YMOVE(I);
IF Y<=23 AND GETCHBOX@(PL,1,X,Y)==0 THEN PX=X; PY=Y; FI;
CHAR@ BX,BY,0,0,0;
NEXT;
WAIT 3000;
NEXT;
OVER:
WAITKEY@ 10;
NEXT;