メイクコード アーケード を使ったゲーム作り第7弾です。
よく使う命令ブロックは、プログラムに追加した状態で説明していきます。
命令がどこにあるのか分からない人は、一番初めのゲームから始めてください。
ゲーム作りのポイントも説明しているのでオススメします。
これから作るゲーム
これまでのゲームと違い、少し複雑な(それほどでもない)ルールです。
簡単に言えば、制限時間内に大きいヘビにできるだけ弾を撃ち込むゲームです。
下図では「倒す敵」となってますがやっつけることはできず、弾が当たれば得点が入るだけです。

プレイヤーは左右のみ移動することができ、Aボタンで弾を発射します。
大きいヘビに当てるたびスコアに5加算されます。
なお、弾を撃つたびにスコアが1減ります。なので、できるだけ弾を無駄にせず(小さいヘビに当てないように)大きいヘビを狙うゲームです。
当講座で一番むずかしいゲームになってしまいました。
あ、作るのがむずかしいのではなくゲーム難易度の話です。
慣れないうちはスコアがマイナスになったりします。
プレイヤーを作ろう
新しくプロジェクトを作成します。
プロジェクトの名前を入力して 作成 ボタンをクリックします。

まず背景を入れましょう。

こんな絵があっていると思います。

プレイヤースプライトを用意します。

キャラはこれを選びました。

プレイヤーを左右に動かせるようにします。
vx 100 vy 0 にします。

画面外へ出ないようにstay in screenをオンにします。
ゲーム開始時の位置を x 80 y 108 にします。

プレイヤーの初期位置は画面下部の中央です。

プレイヤーの位置や移動速度はなんとなく決めています。
手順としては、とりあえず仮の値を入れておきます。開発が進む中でバランスを見て位置を変えたり、移動速度を調整していきます。
ヘビキングを作ろう
敵キャラのヘビを用意します。
これが倒すべき大きいヘビになります。
スプライトのタイプは Food にしてください。

ヘビの絵はこれにしました。口を開けて強そうです。

ヘビの変数の名前を bigSnake に変更します。

位置 x:80 y:16
速度 vx:50 vy:0
bounce on wall オン
に設定します。変数名は bigSnake に忘れずに変更しましょう。

画面を確認すると、ヘビが左右に動いていると思います。

ヘビを大きくしよう
ヘビキングのサイズを大きくします。
スプライト の mySpriteのxを0にする をドラッグします。

ヘビキングの処理の最後に入れます。変数名は bigSnake に変更します。

X を scale に変更します。

scale を 1.6 に変更します。

画面を確認すると、ヘビが大きくなっています。迫力が出てきました。

おじゃまヘビを入れよう
プレイヤーの攻撃をじゃまする小ヘビを作ります。
3匹表示したいのでループブロックを使います。

最初だけの最後に追加します。
ループの回数を 2 に変更します。これで3回繰り返します。

小ヘビのスプライトを用意します。
タイプは Enemy に変更します。

変数名は snake にします

小ヘビの絵はこれにしました。

位置 x:0 y:0
速度 vx:50 vy:50
bounce on wall オン
これらを入れます。変数名は snake に変更しましょう。

初期位置 x と速度 vx を乱数にします。
x は 20 から 140 まで
vx は 40 から 70 までにしました。
y と vy は 0 にします。
乱数の範囲ですが、x は画面サイズが 160 なのでそこに収まるようにしました。
vx は実際に動かしてみて適当に決めました。この速度でゲーム難易度が変わります。

動きを確認しましょう。
まだ y を設定していないので、画面上部でウロウロしています。

小ヘビの y 座標を設定しよう
小ヘビは3回のループを使って作成しています。
なのでループの回数(カウンター)を使って y 座標を決めます。
まずは演算ブロックを2つ用意します。

1つに連結します。

変数 カウンター を一番左に入れます。

位置を設定するブロックの y に入れます。

左の演算を掛ける × に変更します。
右の演算は足す + にします。

カウンター × 16 + 40 に変更します。

小ヘビの位置を確認しましょう。
いい感じにバラけてます。

位置座標を算出する カウンター × 16 + 40 の数値の意味が分からない人は、数値を変えてテストしてください。
カウンター × 16 + 0 でテストすれば 40 の意味が分かります。
カウンター × 0 + 40 でテストすれば 16 の意味が分かります。
次回、完結編です。