親子で作るハロウィンゲーム!「お菓子キャッチゲーム」の作り方
今回は親子で挑戦できるハロウィンのゲーム「お菓子キャッチゲーム」を作ってみましょう!
かぼちゃのかごを左右に動かして、上から落ちてくるお菓子を上手にキャッチします!
キャンディーを取ると1点、チョコは3点。にこにこ笑顔のクモを取ってしまうと5点減点です。制限時間の30秒間で何点集められるか、チャレンジしてみましょう。
この記事では、4つの画像素材を使ってScratchでゲームを作る手順を分かりやすく解説します。
完成したゲームの実行画面です。キーボードの「←」「→」キーでかごを操作します。
まずはゲームのルールを確認しよう
| 落ちてくるもの | キャッチしたとき |
|---|---|
| ピンクのキャンディー | 得点が1点増える |
| オレンジの包み紙のチョコ | 得点が3点増える |
| 紫色のクモ | 得点が5点減る |
緑の旗をクリックするとゲームが始まり、30秒経つと終了します。お菓子を取り逃しても減点はされません。ただし、クモを取りすぎると得点がマイナスになることもあります。
このレッスンで学べるプログラミングの基本
キーボードによる操作、条件分岐の「もし」、動作を続ける「繰り返し」、数値を記録する「変数」、スプライト同士で合図を送り合う「メッセージ」を学びます。
今回はクローン機能を使わず、3種類のスプライトを1つずつ繰り返し降らせるシンプルな仕組みで作ります。
素材とScratchファイル
初めて作る方は、準備ファイルからスタートするとスムーズです。
4つのスプライトと薄紫の背景があらかじめセットされており、プログラム(ブロック)だけが入っていない状態から始められます。
1. 準備ファイルをScratchで開こう
キーボード操作ができるパソコンで、Scratchの作成画面を開きます。(アカウントにログインしてない人はログインしてから始めましょう)
画面が英語になっている場合は、画面上部の地球儀アイコンまたは「Settings」→「Language」から「日本語」を選択してください。
本記事のブロック画像も「日本語」表記に合わせています。
- スクラッチから自分のアカウントにアクセスします。
- 上のリンクからアクセスして、「リミックス」をクリックします。
- 準備ファイルを自分のプロジェクトとして作り始めることができます。
画面右下のスプライトエリアに「かご」「キャンディー」「チョコ」「クモ」の4つが表示されていれば準備完了です。
※Scratchでは、画面上に登場するキャラクターやアイテムのことをスプライトと呼びます。

2. 「得点」と「残り時間」の変数を作ろう
ゲーム中に変化する数値を記録しておくために、変数を2つ作成します。
画面左側のブロックパレットから、オレンジ色の「変数」を選び、「変数を作る」をクリックしてください。
- 新しい変数名に「得点」と入力し、「すべてのスプライト用」にチェックが入っていることを確認して「OK」を押します。
- 同様に、「残り時間」という変数も「すべてのスプライト用」で作成します。
- 作った2つの変数の左横にあるチェックボックスをオンにして、ステージ上に数値を表示させます。

得点はキャンディー・チョコ・クモのそれぞれから増減させるため、全体で共有できる「すべてのスプライト用」にします。
ステージ上の変数は、ドラッグして好きな位置に動かせます。「得点」を画面左上、「残り時間」をその隣に配置しておくと、プレイ中に確認しやすくて便利です。
3. ステージに、30秒で終了する仕組みを作ろう
画面右下にある「ステージ」をクリックして選択し、「コード」タブで次のブロックを組み立てます。
ゲームの開始と終了のタイミングは、ステージから各スプライトへ合図を送って管理します。

ステージに作成するプログラムです。
「スタート」と「おしまい」の合図(メッセージ)を作る
黄色の「イベント」カテゴリにある「メッセージ1を送る」を取り出し、ドロップダウンメニューの▼から「新しいメッセージ」を選択します。
メッセージ名に「スタート」と入力してください。同じ手順で「おしまい」というメッセージも作成します。
ゲームを始めるときは「スタートを送る」、終了するときは「おしまいを送って待つ」ブロックを使用します。
「送って待つ」を使うことで、かごが結果を表示し終え、お菓子が非表示になる処理をきちんと完了させてから、最後の「すべてを止める」へと進めることができます。
残り時間は「30 − 経過秒数」で計算する
水色の「調べる」カテゴリにある「タイマー」は、リセットされてから経過した秒数を小数点単位で計測しています。
たとえば開始から7.4秒が経過したときは、小数点以下を切り下げて「7」にし、30−7=23 を「残り時間」に代入します。
- 緑色の「演算」カテゴリから引き算(○ − ○)ブロックを取り出し、左側に「30」と入力します。
- 同じく「演算」から「○の絶対値」ブロックを取り出し、▼をクリックして「切り下げ」に変更します。
- その丸い枠の中に「タイマー」ブロックを入れ、全体を引き算ブロックの右側にはめ込みます。
- 組み立てた計算ブロックを、「残り時間を○にする」の丸い枠に入れます。
「タイマー > 30 まで繰り返す」ブロックを使っているため、30秒が経過すると繰り返しループを抜けます。
最後に残り時間を「0」にしてから、ゲーム終了の合図を送ります。
緑の旗をクリックし、残り時間が30から1秒ずつカウントダウンされ、0で止まるか確認してみましょう。
この段階では、まだかごやお菓子が動かなくても問題ありません。
4. 「←」「→」キーでかごを左右に動かそう
画面右下で「かご」のスプライトを選択します。上のブロックのかたまりは左右への移動処理、下のかたまりはゲーム終了時の結果表示処理です。
この2つのプログラムは連結せず、少し離して配置してください。

かごに作成する2つのプログラムです。左右移動の条件には、緑色の「かつ」ブロックを使用します。
Scratchでは、画面の水平方向(横)の位置をx座標、垂直方向(縦)の位置をy座標で表します。xの値を増やすと右へ、減らすと左へ移動します。かごは画面下部に配置したいので、y座標は「−132」で固定しておきます。
右に動く条件は「右向き矢印キーが押された」かつ「x座標 < 190」、左に動く条件は「左向き矢印キーが押された」かつ「x座標 > −190」です。画面端の手前で移動を止める条件を加えることで、かごが画面外へ見切れてしまうのを防ぎます。
最初に中身を空にした「○と言う」ブロックを入れておくと、前回のプレイで表示された吹き出しをきれいに消すことができます。終了時の「おしまい! ○点」というメッセージは、「演算」カテゴリの「○と○」ブロックを2つ組み合わせて作成します。「得点」の部分は直接文字を打ち込まず、オレンジ色の丸い変数ブロックをはめ込んでください。
緑の旗をクリックし、キーボードの「←」「→」キーを長押ししてみましょう。かごが左右スムーズに動き、画面の端でピタッと止まれば成功です。もし動かない場合は、数値入力欄などにカーソルが入ったままになっていないか確認してください。
5. キャンディーを落として得点が入るようにしよう
「キャンディー」のスプライトを選択し、次の2つのプログラムを作成します。
ブロック数が多く少し長く見えますが、「上に戻す」「落下させる」「得点を加算する」の3つの流れに分けて考えると仕組みを理解しやすくなります。

キャンディーのプログラムです。右側にある「おしまいを受け取ったとき → 隠す」も忘れずに組み立てましょう。
落ちてくる横の位置を毎回ランダムにする
「x座標を○、y座標を○にする」ブロックのx座標に、「演算」の「−200から200までの乱数」を入れます。
「乱数」を使うことで、指定した範囲の中から毎回ランダムな数値が選ばれます。y座標は「170」に設定し、常に画面上部から落ち始めるようにします。
この初期位置の設定から、下にある「0.3秒待つ」までの処理全体を、大きな「ずっと」ブロックで囲みます。こうすることで、キャンディーが一度消えても再び上から降ってくるようになります。
かごに触れるか、下まで落ちたら落下を止める
「○まで繰り返す」ブロックの中に、「y座標を−5ずつ変える」を入れます。
マイナスの値を足していくことで、キャンディーが下方向へ落ちていきます。
繰り返しを終了する条件は、「かごに触れた」または「y座標 < −170」です。
「または」を使うと、どちらか一方の条件を満たした時点でループを抜けることができます。かごでキャッチできた場合も、地面まで落ちて見逃した場合も、次の判定処理へ進みます。
キャッチできたときだけ得点を加算する
落下処理のすぐ下に、「もし『かごに触れた』かつ『残り時間 > 0』なら」を配置し、その内側に「得点を1ずつ変える」を入れます。
その下に「隠す」「0.3秒待つ」を繋げます。この2つのブロックは「もし」ブロックの外側で、かつ「ずっと」ブロックの内側になるように配置してください。
キャッチできずに見逃した場合でも、一度姿を隠して画面上部へ戻るため、ゲームが途切れることなく続きます。また「残り時間 > 0」を条件に加えておくことで、タイムアップ後に落ちてきたお菓子を取っても点数が入らないように制御しています。
注意:「まで繰り返す」の中に得点ブロックを入れないようにしよう
落下のループ内に得点ブロックを入れてしまうと、かごに触れている間ずっと連続して点数が加算されてしまいます。
落下の繰り返しを抜けた直後に、1回だけ得点が増える位置へ配置しましょう。
6. チョコは3点、クモは−5点に設定しよう
チョコとクモも、キャンディーとまったく同じ仕組みで動作します。
キャンディーのプログラムの一番上のブロックをつかみ、画面右下の「チョコ」のスプライトの上へドラッグ&ドロップすると、プログラムをそのままコピーできます。もう一方の「おしまいを受け取ったとき」のブロックも同様にコピーしてください。
コピー先のスプライト(チョコ)を選択し、次の表を参考に4か所の数値を書き換えます。クモのスプライトにも同じようにコピーし、数値を変更しましょう。
| 変更する項目 | キャンディー | チョコ | クモ |
|---|---|---|---|
| 大きさ | 8% | 10% | 9% |
| y座標を変える数値(落下の速さ) | −5 | −6 | −4 |
| 得点を変える数値(加減点) | 1 | 3 | −5 |
| 最後に待つ秒数(再登場の間隔) | 0.3秒 | 0.6秒 | 0.8秒 |
チョコのプログラム

チョコはキャンディーより少し速く落ちてきますが、キャッチできれば高得点の3点です。
クモのプログラム

クモは「得点を−5ずつ変える」にします。マイナス記号を付けることで減点処理になります。
見た目は可愛らしい笑顔のクモですが、触れると減点されるお邪魔キャラです。
チョコを追いかけつつ、クモに当たらないよう上手にかごをコントロールしましょう。
7. 実際に30秒遊んで、動作をチェックしよう
緑の旗をクリックして実際にプレイし、正しく動作しているか確認します。
点数が変わるタイミングが分かりやすいように、1種類ずつ順番にキャッチして試すのがおすすめです。
- 「←」「→」キーで、かごが左右スムーズに動くか
- キャンディーで+1点、チョコで+3点、クモで−5点されるか
- 取り逃したアイテムが、再び上から落ちてくるか
- 残り時間が0になると、お菓子とクモが消えてゲームが止まるか
- かごが「おしまい! ○点」と吹き出しで結果を表示するか
- もう一度緑の旗を押したとき、得点が0、残り時間が30に戻って再スタートするか

ゲーム終了後は結果が画面に残ります。緑の旗をクリックすれば何度でも再挑戦できます。
うまく動かないときのチェックポイント
| 困った現象 | 確認する場所 |
|---|---|
| 緑の旗を押してもゲームが始まらない | ステージに「スタートを送る」ブロックが入っているか、各スプライトが「スタートを受け取ったとき」になっているか確認しましょう。 |
| キャンディーが下に落ちたまま戻ってこない | 落下の終了条件に「y座標 < −170」が入っているか確認してください。また、初期位置の「−200から200」が「ずっと」の内側に正しく配置されているかも見直しましょう。 |
| 1回キャッチしただけで得点が大量に増える | 「得点を○ずつ変える」ブロックが、落下の「○まで繰り返す」の外側に置かれているか確認してください。 |
| クモを取ったのに得点が増えてしまう | 「得点を−5ずつ変える」の先頭に「−(半角マイナス)」が正しく入っているか確認しましょう。 |
| ゲーム終了時に吹き出しが表示されない | ステージの最後のブロックが、「おしまいを送って待つ」→「すべてを止める」の順番になっているか確認してください。 |
無事に動いたら、画面上部の「ファイル」→「コンピューターに保存する」をクリックしてプロジェクトを保存しましょう。
保存した .sb3 ファイルを読み込めば、いつでも続きから制作できます。次のアレンジ編に進む前に、基本版として別名保存しておくのがおすすめです。
今回のゲームの完成ファイルはこちらからアクセスできます。
「こんなゲームを作れるようになりたい!」と思ったら、テックチャンスへ
「もっと速く落としたい」「ボーナスを増やしたい」。そんなアイデアを自分でプログラムにできると、ゲーム作りはもっと楽しくなります。
テックチャンスでは、Scratchを使ってプログラミングの基本から学べます。
好きなキャラクターやルールを考えながら、自分だけのゲーム作りに挑戦してみませんか。
プログラミングが初めてのお子さまも、まずは無料体験へ。ぜひ親子で、作る楽しさを体験しに来てください。