体験的マイコン学習(IchigoJam編)


目次



第3回 シューティングゲームを作ってみよう


自機を操作して敵を倒すゲーム


準備するもの

準備品

準備するもの

名前 個数
IchigoJam T 1個
ディスプレイ(4.3inch 自動車のバックモニター用 amazonで1,075円で購入しました) 1台
ディスプレイ用ACアダプター12V 1個
ビデオケーブル 1個
microUSBケーブル 5V (Android用のものが利用可能) 1個
USB電源アダプタ 1個
PS/2対応キーボード 1台
ページトップ

電源を入れるまで

第1回Lチカを試してみるに書いてますのでそちらを確認してください

ページトップ

ゲームの仕様

左右に移動する敵(UFO)を自機を操作して倒すゲーム

自機の動かし方は左右の矢印キー

ビームはスペースキーで1発だけ発射できる(撃ったビームが画面外に行くまで次のビームを発射できない)

ページトップ

プログラムの作成

① 電源スイッチを入れると、下図のような画面が表示されます

スタート画面

② 下記を入力してください (各行の//以降はコマンドの説明です入力しないでください)

10 CLS:CLP:X=14:Y=17:F=0:T=100:H=1 // CLS 画面クリア CLP キャラクターパターンの初期化

20 LOCATE X, Y:PRINT CHR$(32,240,32) // 自機の表示

30 K=INKEY() // キーボードからリアルタイムで入力するため

40 IF K=28 AND X>0 THEN X=X-1 // 左矢印キーが押されたら自機を左側に移動させる

50 IF K=29 AND X<30 THEN X=X+1 // 右矢印キーが押されたら自機を右側に移動させる

60 IF K=32 AND F=0 THEN F=1:C=X+1:B=Y-1 // ビームが発射されていない場合のみ、ビームの座標とフラグを設定する

70 IF F=0 THEN GOTO 120 // ビーム未発射の場合 80~110までの処理を飛ばします。

80 LOCATE C,B:PRINT CHR$(242) // ビームの表示

90 LOCATE C,B+1:PRINT " " // ビームの消去処理

100 B=B-1 // ビームの移動処理

110 IF B<-1 THEN F=0 // 画面上までビームが移動したらフラグを0(未発射)にする

120 LOCATE T/10, 2:PRINT CHR$(32,241,32) // 敵の表示

130 IF F=1 AND B=1 AND C=T/10+1 THEN LOCATE C,2:PRINT CHR$(244,13):PRINT "Clear!!":END // 敵とビームの接触判定

140 T=T+H // 敵の動きを

150 IF T>290 OR T<10 THEN H=-H // 端まで行ったら反対方向に動く

160 GOTO 20 // これまでの処理を繰り返す

変数の意味

変数 意味
X 自機のX座標
Y 自機のY座標
C 自機のビームのX座標
B 自機のビームのY座標
F 自機のビームの有無のフラグ。0なら未発射、1なら発射済み
T 敵のX座標の10倍の値。
H 敵の移動方向と移動量(兼用)
K 入力されたキーコード

③ 入力後、下図のようになっていればOKです

プログラムの作成
ページトップ

実行する

① RUNと入力してEnterキーを押してください

実行サンプル1

② 自機を矢印キーで動かして、スペースキーでビームを撃って敵を倒します

実行サンプル2

③ 倒したらクリアです

実行サンプル3

終わった方はぜひカスタマイズして遊んでみてください

ページトップ