道路の端にぶつからないように車を操作するゲーム
準備するもの
準備するもの
名前 | 個数 |
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キーを押してください
② 車を矢印キーで動かして、道路端にあたらないようにします
③ 道路の端にぶつかったら終了です。(当たらないかぎり続きます)