【Scratchで簡単なゲーム作成編④】条件を満たすとアイテムの種類を変化する機能をつける
※ 当ページには【広告/PR】を含む場合があります。
2020/09/19
ゲームを遊んでいるプレーヤーからすると、アイテムの種類が増えるとグッと楽しくなります。 今回は条件の設定でアイテムの種類を変化させる方法のプログラミング方法を深堀してみましょう。
なお、今回までで紹介したプログラミングテクニックで完成品は以下のようなゲームに仕上がる予定です。
表示条件の設定
前回の記事・
プログラムは
今回の目的はゲームの条件を満たすと新しい食べ物が選択できるような機能をつけることです。 最初に条件を決めましょう。
とりあえず
りんご5個とタコ3個でスイカが出現
元にするスプライトをコピーして使い回す
アイテムの出現する条件を決めましたので、まずは元あった
りんご
スイカ

とりあえずスイカのスプライトを選択モードで画面に現れるように、雑に仮置きしておきます。

たべもののスプライト(りんご・タコ・スイカ)のクリックされた時のブロックが長くなったきたので、共通部分を
定義ブロック
各スプライトにこの定義ブロックをコピーして使い回すことで、今後食べ物の種類を増やしても、定義ブロックの引数(スプライトの名前)を変えるだけで済みます。

条件を満たした時にだけ表示させる
コピーした直後の
スイカ
そこで、
たべたりんご
たべたタコ

もし〜なら
りんご5個とタコ3個でスイカが出現
余談〜デバッグの方法
今回のように、変数がある条件を満たすと、ゲームの状態が変化するような機能を盛り込む場合、その条件になるまで気長に待ってはいられないと思います。
すぐに条件を満たしているか確認するには、スプライトのキャンバスに変数を代入するブロックを置いて、ゲームをスタート後の好きなタイミングでそのブロックをクリックすると良いでしょう。

エサ置き場にスイカを置く
このままではスイカを選んでも皿の上におけないので、エサ置き場のブロックコードを手直ししていきます。
おきばしょ1
おきばしょ5
スイカ

また各エサ置き場のブロックコードで、
たべもの#?
下の図は例として
たべもの1?

他の
たべもの2?
たべもの5?
これでエサ置き場にスイカを置けるようになりました。

スコアボードにスイカを追加する
スイカは追加できるようになりましたが、スコアボードに食べたスイカの数を表示できるようになっていないので、プログラムを変えていきます。
まず
りんごのかず
タコのかず
スイカのかず

このスプライトのコスチュームをスイカの画像に変えて、コスチューム名を
スイカ
その後、大体の位置でよいのでスコアボード上に配置させておきます。
では、
スイカのかず
コピーしたブロックの中で、食べ物の名前の付いた変数やイベント名をすべて
スイカ

後は、
スコアボード
ゲーム開始時の変数
たべたスイカ
たべた1
たべた5

なお、スイカの得点は+20と設定しています。
スプライトの位置の微調整
先程までは、
スイカのかず

条件を満たしたときにスコアボードに表示する
最後にスコアボードに
スイカのかず
たべたリンゴ5個以上
たべたタコ3個以上
もし〜なら

これで条件を満たさない場合には、
スイカのかず

以上で、エサ場における食べ物の種類が増やすことが可能となりました。
スイカを出すまでの機能を盛り込んだプログラムは
おまけの機能〜得点の表示
食べ物の種類も増えたので、選択画面に表示される食べ物の下に各得点を表示できるようにしました。

これで食べ物が何点入るかをプレイヤーに教えることができます。
まとめ
今回はゲーム中のパラメータで達成条件を設定して、アイテムのスプライトを変化させていく方法について解説してみました。
この記事中で解説したのはスイカの追加だけでしたが、冒頭で紹介していたプログラムは更に食べ物の種類を追加しておりますので、ぜひ動かしてみてどんな食べ物が追加されているかチェックしてみてください。