準備するもの
名前 | 個数 |
IchigoJam T | 1個 |
ディスプレイ(4.3inch 自動車のバックモニター用 amazonで1,075円で購入しました) | 1台 |
ディスプレイ用ACアダプター12V | 1個 |
ビデオケーブル | 1個 |
microUSBケーブル 5V (Android用のものが利用可能) | 1個 |
USB電源アダプタ | 1個 |
PS/2対応キーボード | 1台 |
第4回 ドライブゲームを作ってみよう
準備するもの
名前 | 個数 |
IchigoJam T | 1個 |
ディスプレイ(4.3inch 自動車のバックモニター用 amazonで1,075円で購入しました) | 1台 |
ディスプレイ用ACアダプター12V | 1個 |
ビデオケーブル | 1個 |
microUSBケーブル 5V (Android用のものが利用可能) | 1個 |
USB電源アダプタ | 1個 |
PS/2対応キーボード | 1台 |
第1回Lチカを試してみるに書いてますのでそちらを確認してください
車を操作(矢印キー)してひたすら道路を走るゲーム
道路がランダムで左右にずれる
徐々に道幅が狭くなる
道路の端にぶつかるとゲームオーバー
ゲームオーバー時にスコアが表示される
① 電源スイッチを入れると、下図のような画面が表示されます
② 下記を入力してください (各行の//以降はコマンドの説明です入力しないでください)
10 CLS:CLP:X=16:Y=23:R=8:H=17:T=0:S=0 //画面消去、車の座標、道路のX座標と幅、スコアの初期値を設定
20 SCROLL 2 //画面全体を下スクロール
30 S=S+1 //スコアを増やす
40 C=SCR(X,Y) //車の座標に書かれた文字コードを呼び出す
50 LOCATE X,Y:PRINT "A"; //車(Aの文字)を表示
60 T=T+1:D=(T&7)>3 //道路の端に設置する文字を決めるため計算式
70 LOCATE R, 0:PRINT CHR$(2+D) //道路の端に文字を表示します
80 LOCATE R+H, 0:PRINT CHR$(2+D) //道路の端に文字を表示します
90 LOCATE R+H/2+1, 0:PRINT CHR$(2+D) //センターラインの表示、非表示の切り替え
100 K=INKEY():X=X-(K=28 AND X>0)+(K=29 AND X<28) //キーの入力に応じて車を移動
110 IF T%64=0 THEN H=H-1:IF H<3 THEN H=3 //スクロール64回に1回道路の幅を狭くする条件式
120 IF T%16<>0 THEN GOTO 160 //スクロール16回に1回道幅をずらす条件式
130 R=R+RND(3)-1 //道路をずらす
140 IF R<3 THEN R=3 //道路の端のX座標の条件式
150 IF R+H>26 THEN R=26-H //道路の端のX座標の条件式
160 IF C=0 OR C=124 THEN GOTO 20 //衝突判定
170 LOCATE X,Y:PRINT CHR$(244) //ゲームオーバー時爆発の文字
180 LOCATE 4,13:PRINT "Game Over. Score = ";S //ゲームオーバー時 Game Over、スコアの表示
変数の意味
変数 | 意味 |
X | 車のX座標 |
Y | 車のY座標 |
R | 道路のX座標 |
H | 道路の幅 |
T | カウンタ。進んだ距離 |
S | スコア |
D | 一時的な計算用に使用 |
C | 読みだした画面の文字 |
K | 入力されたキーコード |
③ 入力後、下図のようになっていればOKです
① RUNと入力してEnterキーを押してください
② 車を矢印キーで動かして、道路端にあたらないようにします
③ 道路の端にぶつかったら終了です。(当たらないかぎり続きます)