こんにちは、ECF Techブログ
担当のMichiです。
今回はスクラッチを使って、りんごキャッチゲームを作りたいと思います。よくあるゲームプログラムのひとつかもしれませんが、プログラムを作るうえで大事なことも多く入っていると思います。ぜひ、試してみてください。
対象読者
- Scratchで基本的な操作を学んだ小中学生の方
- ゲームプログラムをどう形にしていいかわからないという方
ゲームの動画と説明
まずは今回作成するゲームのプレイ動画をご覧ください。
ゲームの大まかな流れ
- はたをクリックすると、ゲームがスタートします。
- リンゴが次々に木にできて、下に落ちます。
- 下に落ちる前にプレイヤー(ねこ)がリンゴをキャッチした(さわった)ら、10点です。
- 今回はプログラムを簡単にするため、2.と3.がずっと続きます。
プログラムの説明
背景とスプライトを準備しよう
それでは、背景とスプライトを準備しましょう。
背景はこちらを使用しています。一覧から選ぶことができます。
これでそれぞれのスプライトの準備はOKです。
ねこのプログラム
ねこのプログラムはシンプルです。キーボードの左右のキーを押すと、右や左に行ったり来たりします。
- それぞれ向きを変えるのを忘れないようにしましょう。
- 向きを変えるとその方向に進むので、どちらも「10歩動かす」の部分は同じです。
リンゴのプログラム
リンゴのプログラムは少し難しいですが、クローンを使って上からプログラムが順番よく進むように作っています。
クローンはスプライトのコピーのことです。元々のスプライトは表示しないようにしておいて、そのコピーができたときだけ画面に表示させ、動かします。「クローンされたとき」のブロックから始まる部分はすべて、クローンに対して処理をするブロックとみなされます。
- まずリンゴの位置を決めます。ランダムな値で設定した範囲はだいたい下の画像の赤い部分となります。
- 表示させたあと、すぐ落ちちゃわないように2秒待った後落ちます。
- りんごが地面におちた(y座標が-140より低い位置にきた)と判断されるまで落ちつづけます。
- もしその前にねこにふれたら、リンゴをキャッチとみなします。変数とくてんを10点ふやし、クローンを削除します。
- そのまま地面に落ちたときもクローンを削除します。この時はとくてんは入りません
ステージのプログラム
ステージのプログラムは、ゲームが始まるきっかけとなるプログラムを書いていきます。次のようにしています。
やっていることは簡単で、最初にてんすうを0にしたら、あとは3秒ごとにリンゴのクローンを作るだけです。プログラムを止めるまでずっと続きます。ここでリンゴのクローンが作られたときに、リンゴのプログラムが動きだします。
これでプログラムは完成です。ゲームクリアやゲームオーバーのないシンプルな作りにしているので、プログラム自体が簡単になりました。
キーボード操作をもっとスムーズに
ここで最後にちょっとだけプログラムを修正したいと思います。先ほど作ったねこのプログラムだと、プレイをしていてキーボードの反応が少し遅いと感じる方がいるかもしれません。このキーボードの反応については、次のようにすると改善することができます。
「ずっと」ブロックの中にキーボードが押されたときの「もし」ブロックをいれておきます。これは監視ループと呼ばれる考え方で、キーボードが押されるタイミングを常にチェックするというやり方です。
もっとアイディアを
今回はここまでとなりますが、次のようなプログラムにもぜひチャレンジしてみてください。
- 得点の高いちがうりんごを出せるようにしてみましょう。
- ねこが歩くときのアニメーションをつけてみましょう。
- りんごが実るペースをあげてみましょう。
- 時間制限をつけてみましょう。
さらにゲームらしいプログラムができると思います。
また、作成したプログラムはScratchのサイトにて、こちらのURLで共有しております。自由にリミックスしてみてください。