【Scratch】リンゴキャッチゲームを作ろう

2019年2月21日

Scratch3.0になり、Scratch2.0のチュートリアルがなくなってしまったようです。
そこで、Scratch2.0のチュートリアルにあった「リンゴキャッチゲーム」の作り方を新たにイチから考えてみました。ここでは座標や変数、条件文、ブロックのコピー(バックパック)などが学べます。

【Scratch】リンゴキャッチゲームを作ろう

さぁ、【Scratch】「リンゴキャッチゲームを作ろう」でプログラミングをはじめよう。

【Scratch】「リンゴキャッチゲームを作ろう」で学べる知識

  • 繰り返し(ループ)
  • 条件文
  • 乱数
  • 変数
  • 座標
  • 異なるスプライトへのブロックのコピー(バックパック)

まずは【Scratch】「リンゴキャッチゲームを作ろう」の工程をかくにん

  1. ライブラリーから「りんご」のスプライトを追加する
  2. ライブラリーから背景 を追加する
  3. 「りんごが上から落ちてくる」ブロックの作成
  4. ボウルのスプライトを追加し、左右に動くブロックを作成
  5. りんごがボウルにキャッチされるブロックを作成
  6. 変数でスコアをつくり、得点を表示
  7. ボーナスポイント(余裕がある人用)
  8. ゲーム終了の設定
  9. バグ(不具合)を修正し完成です!

1 ライブラリーから「りんご」のスプライトを追加する

まずネコのスプライトを削除します。
右下のネコのマークをクリックし、「スプライトを選ぶ」から「りんご」を選びます。

ライブラリーから「りんご」のスプライトを追加する/リンゴキャッチゲーム

2 ライブラリーから背景 を追加する

こんどは右下のネコの横にある、絵のようなマークをクリックし、「背景を選ぶ」からお好きな背景を選んでください。

3 「りんごが上から落ちてくる」ブロックの作成

りんごを上に設定する

リンゴキャッチゲームは、りんごが上から落ちてくるので、それをボウルで拾っていくゲームです。
りんごは上の左右どこから落ちてくるか分からないほうが、ゲームとして面白そうです。
そこで、上のどこからかりんごが落ちてくるブロックを作成します。

右の画面でりんごを動かしてみます。
そうすると、右下のx座標、y座標表示が動くのが分かります。

「りんごが上から落ちてくる」ブロックの作成/リンゴキャッチゲーム

りんごを落下させる

りんごを落下させるには、上下の座標位置を設定するy座標が徐々に小さくなれば、良いのではないでしょうか?
りんごの落下速度は、お好きな速度でどうぞ。

りんごを落下させる/リンゴキャッチゲーム

落ちたら、上に戻るように設定

りんごが床に落ちたら、座標はどんな位置を示しているでしょうか?
「りんごを上に設定する」の復習です。
りんごを下に動かして、座標を確認します。
条件文を使って、y座標が○○なら、として、その中にりんごを上に設定ブロックを移動させます。

落ちたら、上に戻るように設定/リンゴキャッチゲーム

4 ボウルのスプライトを追加し、左右に動くブロックを作成

まずは、ライブラリーからボウルのスプライトを追加します。
リンゴキャッチゲームでは、落ちてくるりんごをボウルでキャッチします。
ボウルは、床近くで左右に動けばOKです。
ですので、ボウルは、ずっと右キーを押したら右に、左キーを押したら左に動くように設定しましょう。

ボウルのスプライトを追加し、左右に動くブロックを作成/リンゴキャッチゲーム
ボウルのスプライトを追加し、左右に動くブロックを作成/リンゴキャッチゲーム

5 りんごがボウルにキャッチされるブロックを作成

りんごのブロックづくりに戻ります。
ボウルでブロックを作らないように、注意してください。
りんごで、新たにブロックを作っていきます。
りんごがボウルに触れたら、りんごは上に行く設定をします。
ここでも条件文を使いながら、作っていきます。
ボウルに触れたら、音も鳴るようにしてみます。

りんごがボウルにキャッチされるブロックを作成/リンゴキャッチゲーム

6 変数でスコアをつくり、得点を表示

変数で「スコア」という名の新しい変数を作ります。
スコアはゲームの最初は0点で、ボウルに触れたら1点ずつ得点がアップされるようにします。

変数でスコアをつくり、得点を表示/リンゴキャッチゲーム

7 ボーナスポイント(余裕がある人用)

8 ゲーム終了の設定

「ゲーム終了」を作画

右下のネコのマークをクリックし、下から二番目の筆のマークで「ゲーム終了」を作画します。
コスチュームから「T」のマークで、テキスト入力ができるようになります。
お好きな文体や大きさ、色に変えてみましょう。

「ゲーム終了」を作画/リンゴキャッチゲーム

「ゲーム終了」のブロックを作成

ゲーム終了は20点を取ったら、とします。
「あなたが勝ちました」の文は、ゲーム開始時には隠れていて、20点を取ったら表示されるようにします。20点取ったらゲームは止まるようにします。

「20点を取ったら」というのは、20点以上になったことです。
ところが、数式には「以上」がありません。
そこで、「スコアが20と同じ、またはスコアが20より大きくなったら」とし、終了になったら、すべての動きを止めるようにしました(ボーナスポイントで3点の設定をしたため。ボーナスポイントを作らなかったりで20点を確実に通過する場合は「スコアが20と同じ」の設定だけで大丈夫です。)。

「ゲーム終了」のブロックを作成/りんごキャッチゲーム

りんごのブロックは最終的に、こうなっています。

「ゲーム終了」のブロックを作成/りんごキャッチゲーム

9 バグ(不具合)を修正し完成です!

緑色の旗をクリックし、ゲームをスタートしてみます。
特に問題はありませんでした。
ゲームが簡単すぎたり、難しすぎる場合は、りんごの落下速度や大きさを変えてみても良いでしょう。

ボーナスポイント(余裕がある人用)

ライブラリーから「イチゴ」を追加しました。
りんごの色を黄色にして、黄色のりんごまたは梨を追加してもOKです。
イチゴを取ったらボーナスポイントにしたいので、りんごよりも取るのを難しくします。
イチゴの大きさを半分の「50」にしてみました。

ボーナスポイント(余裕がある人用)/リンゴキャッチゲーム

りんごのブロックをコピーして、イチゴのブロックにする方法

ア りんごのブロックの画面の一番下に「バックパック」という表示があります。
りんごの2つのブロックをバックパックに持っていきます。
作ったりんごのブロックはコピーされるだけで、無くならないので心配いりません。

イ イチゴのブロックを作っていきます。
イチゴの画面で、下のバックパックを見ると、りんごのブロックのブロックのコピーが見えているはずです。
そのコピーをドラッグすると、りんごのブロックがイチゴにコピーされます。

りんごのブロックをコピーして、イチゴのブロックにする方法/リンゴキャッチゲーム

ウ イチゴを取ったらボーナスポイントになるよう、設定しますので、「スコアは3ずつ変える」に設定。

最初は誰だって初心者です。
やりながら順番に覚えていきましょう。
さぁ、プログラミングをはじめましょう。