スクラッチ ゲームマスターへの道(問題集) レベル13・14

ゲームマスターへの道

スクラッチでゲームをつくるための練習をゼロからはじめていきます。今回はコスチュームの描画に加えて、ゲーム作りでとても大切な考え方になる当たり判定と変数について学びます。今回でリンゴキャッチゲームが完成します。変数の考え方は少し頭が混乱するかもしれませんがここまでこれば簡単なゲームはいろいろ作れるようになります。スクラッチゲームマスターを目指してがんばりましょう!

レベル13:リンゴをキャッチする

ゲームのキモであるりんごをキャッチする部分を作っていきます。

ここではコスチュームの作成と当たり判定について学んでいきます。

レベル11〜レベル14はリンゴキャッチゲームを作る1連の流れになっています。まずはレベル11・12からチャレンジしてください。

問題1:コスチュームを作る

これまでの問題に続いて、以下のとおりに動くようにコスチュームを作りましょう

ルール

🏴を押すとネコが頭の上にお皿を乗せた状態で左右に動く

実際に🏴を押してからネコを左右に動かしてみよう。動くたびに少しお皿が揺れるのがわかります。これをどう再現するかもポイントです

ネコのコスチュームを以下のように変更できれば成功です

正解のコードをみる

今回は、スクラッチに初めから用意されているBowlというコスチュームをネコの頭に乗せます。Bowlをコピーしてネコの頭に貼り付ける一連の流れは以下を参考にしてください。貼り付けた後にすこし回転させるのがコツです。

問題2:ネコに当たるとりんごが消える

以下のとおりに動くようにコードを書きましょう

ルール

これまでの動きに加えて、ネコがりんごに触れると、りんごが消える(ゲットする)

実際にネコを左右に動かしてりんごをゲットするのを確認しよう

りんごのスプライトのコードを以下のように変更すれば正解です。

正解のコードをみる

いままでリンゴは下端(y<-180)まで落ちて、また上から落ちてくることを繰り返していましたが、ネコに触れてもりんごが落ちる動きをやめて、また上から落ちてくるように変更します。その時につかうのがまたはの条件式です。またはかつの条件の使い分けはとても大切なのでじっくり学んでいきましょう。

ブロックの組み方は以下の動画を参考にしてください。

問題3:お皿にはいったらりんごが消える

問題2ではネコにあたるとりんごが消えましたが、そうするとネコのヒゲや足にリンゴが当たってもリンゴをゲットしたことになってしまいます。頭の上のお皿に入った時だけ消えるようにするにはどうしたらよいでしょうか?

ルール

お皿に入ったらりんごが消える

りんごのスプライトのコードを以下のように変更すれば正解です。

正解のコードをみる

ネコに触れたら(スプライト1に触れたら)りんごが消えるのではなくてお皿の濃い茶色の部分に触れたらりんごが消えるようにすると、りんごがお皿に入った時だけりんごがゲットできるようになります。ここで色に触れるという、当たり判定でとても大切な考え方を使います。
色を指定するにはスポイト機能を使います。スポイト機能の使い方など、以下の動画を参考にしてください。

実際にプレイして、体に当たった時にはりんごが消えないことを確認しましょう。

レベル14:変数とメッセージ

さあ、さいごの仕上げです!

問題1:ポイントをつける(変数の利用1)

りんごをゲットできた数だけポイントをゲットできるようにします。

ルール

最初は0ポイントでりんごをゲットするたびに1ポイント増える

実際にプレーしてりんごをゲットしてポイントが増えるのを確認しよう

りんごのスプライトを以下に修正できれば成功です。

正解のコードをみる

ポイントの値はどんどん変わっていきますね。そのようないろいろな値になるモノのことを変数といいます。

今回のようにゲームでポイントをつけるのが変数のわかりやすい使い方ですが、変数の考え方はいろいろなところに使えます。変数の作り方は以下の動画を参考にしてください。変数の横にあるチェックボックスのチェックを外すと画面から変数が消えるのも確認しましょう。

問題2:りんごが落ちるスピードをランダムにする(変数の利用2)

りんごが落ちてくるスピードをランダムに変化させてゲームを面白くしましょう

ルール

りんごが落ちてくるスピードがランダムになる

実際にプレイして落ちてくるスピードがランダムになっているのを確認しよう

りんごのスプライトを以下に修正できれば成功です。

正解のコードをみる

今回の問題は少し難しかったかもしれません。まず、下図のように-10がりんごの落ちるスピードとなっています。たとえばここが-5になるとスピードはゆっくりになり、-20になるとめちゃくちゃ速くなります。

ここの数字がランダムになればいいのだと思って、以下のようにしてしまうと、うまくいきません。なぜかというと、このコードだと落ちている間もスピードが常にランダムになってしまうのです。

なので、上から落ちてくる時にスピードがランダムに決められて、そのスピードでずっと落ちるようにしなければなりません。そのために落ちるスピードという変数を使うのです。変数を作って、それを-10のところに当てはめる方法は以下の動画を参考にしてください。

この考え方が理解できるようになれば変数マスターです!

問題3:ゲーム終了を表示する

以下のとおりに動くようにコードを書きましょう

ルール

20個のりんごが全部おちたら終了の文字を出す

りんごと終了のスプライトのコードをそれぞれ以下に変更すれば成功です。

正解のコードをみる

スプライト同士の動きを連動させる時にメッセージ機能を使います。メッセージの機能もゲームを作る上ではとても大切ですのでマスターしましょう。メッセージの作り方は以下の動画を参考にしてください。

問題4:BGMと効果音をつけよう

さいごの仕上げにBGMと効果音をつけていきましょう。りんごをゲットしたときに効果音が鳴るようにしますが、音を何にするのかは自由です

ルール

ゲーム全体にBGMをつけて、りんごをゲットした時に効果音が鳴る。終了時には歓声が鳴る

りんごのスプライト、終了のコードを以下に変更します。

正解のコードをみる

次のレベルに行く

作成中・・・

タイトルとURLをコピーしました