迷路ゲームのプログラミングその5

前回の「壁を通り抜けさせない」では、スクラッチキャットが壁を通り抜け出ないプログラムを作成しました。ここまででほぼ完成していますが、ちゃんとした迷路ゲームにするためにもう少し手を加えていきましょう。

目次

5. 迷路ゲームを完成させる

ここまで作ったプログラムで、迷路ゲームを楽しめますが、ゴールをしてもスクラッチキャットはずっと動き続けます。次のステージを作る場合は、また別のプログラミングが必要ですが、今回は1つのステージだけで完結させますので、ゴールをしたらプログラムを終了するようにしましょう。

現在ループ処理として設定されているのはブロックパレット制御の中にあるずっとですが、こちらはいつまでたってもプログラムは終了しません。

そこで、ずっとを使わずに他のループ処理を使っていきます。ゴールするタイミングはりんごのスプライトに触れたときですので、りんごに触れるまでループさせれば、りんごに触れたときにループから抜け出してプログラムを終了させることができます。

指定した条件になるまで繰り返すには◆まで繰り返すを使います。

条件式には、「りんごに触れるまで」ですので、もし◆ならに入れていたものを◆まで繰り返すに入れます。

もし◆ならは不要になりますが、中のHello!と言うは一番最後に移動させます。

これで、「りんごに触れるまで」ループ処理され、りんごに触れたらループから抜け出し最後にHello!と言うが実行されます。

6. スクラッチキャットの開始位置を決める

これでゴールしたらプログラムが終了となります。あとゲームの開始をどうするかですが、よく利用されるイベントの中にある緑の旗がクリックされたときを一番上に置きます。

こうするとユーザーが緑の旗をクリックするとゲームスタートとなります。

もう1つ必要なことはスクラッチキャットのスタート位置です。一度遊んでゴールしてからまた緑の旗を押すといきなりゴールします。

これでは2回目遊べませんね。スクラッチの位置を決める場合は、x座標とy座標を設定しますが、動きの中にあるx座標を0、y座標を0にするを使います。

こちらを配置する前にスクラッチキャットを移動してみてください。するとブロックパレットにあるx座標を0、y座標を0にするの値が移動するたびに変わります。この値が現在の位置になりますので、ブロックの数値で設定するのではなく、スクラッチキャットをスタート地点に移動させてから位置を確定させてからブロックをおきましょう。

もっと完成度を高める場合は、ゲーム開始・終了の画面や複数のステージを作ったりしますが、ここではここまでで終了します。あとは、自分たちで機能を追加していっておもしろ迷路ゲームにしてください。

次はシューティングゲームの作り方を学んでいきましょう

スクラッチプログラミング入門

スクラッチプログラミング入門

Scratchは、MITメディアラボが開発した子ども向けビジュアルプログラミング言語です。
スクラッチプログラミング入門では、スクラッチの基本的な使い方から複雑なプログラムの作り方まで子供たちが楽しく学ぶための教育サイトです。

TOP