プログラム中に日本語で説明を書き込んでいますが、その部分は入力しないでください。矢印も入力しないでください。
CANVAS 32,24,"JUMP"; ← ゲーム画面を作ります。よこ32マス、たて24マスの大きさです。
HI=1000; ← ハイスコアを0に設定します。
FOR; ← 再ゲームの時はここから始まります。
CLS@ 0; ← 画面を消去して真っ黒(色番号0)にします。
FOR I=0,5; CHARBOX@ 32,1,0,I*5+2,1,3,0; NEXT; ← 画面に水色の横線を5本引きます。
LOOP 10; CHARBOX@ 2,1,RND(5)*5+6,RND(3)*5+7,0,0,0; NEXT; ← 床に10個の穴をあけています。
LOOP 16; CHAR@ RND(26)+4,RND(19)+3,3,4,0; NEXT; ← 画面に16個の赤いバツをかいています(キャラクター番号3、色番号(4,0))。
LOOP 16; CHAR@ RND(26)+4,RND(19)+3,2,7,0; NEXT; ← 画面に16個の白い丸をかいています(キャラクター番号2、色番号(7,0))。
GE=1000; X=0; Y=21; J=0; ← 最初の元気値、スタート地点、ジャンプ中かどうかの変数=0 を設定しています。
FOR;
PRINT@ 0,0,7,0,"GENKI:%5d HIGH:%5d",GE,HI;
CHAR@ X,Y,6,6,0;
IF GE<=0 THEN CHAR@ X,Y,6,5,0; BREAK; FI;
IF Y<=6 AND X==31 THEN PRINT@ 23,0,0,2," << CLEAR !! >> "; BREAK; FI;
I=INKEY@WRC(200);
CHAR@ X,Y,0,0,0;
IF I!=32 OR Y%5==3 THEN J=0; FI
IF I==32 AND GETCH@(X,Y+1)==1 THEN J=1; FI;
X++;
IF X==32 THEN X=0; Y-=5; FI;
Y-=J;
IF J==0 AND GETCH@(X,Y+1)!=1 THEN Y++; FI;
GE--;
IF GETCH@(X,Y)==3 THEN GE=MAX(GE-400,0); FI;
IF GETCH@(X,Y)==2 THEN GE+=200; FI;
NEXT;
HI=MAX(HI,GE);
WAITKEY@ 10;
NEXT;