scratch

Scratchで鬼ごっこゲームを作ろう!親子で楽しむ作り方ガイド

ブログ / scratch / Scratchで鬼ごっこゲームを作ろう!親子で楽しむ作り方ガイド

「子どもがScratchを始めたけど、次に何を作ればいいか分からない」——そんな声を保護者の方からいただくことがあります。そこでおすすめしたいのが、鬼ごっこゲームです。ルールがシンプルで、お子さん自身のアイデアを盛り込みやすいのが魅力ではないでしょうか。

この記事では、Scratchの画面を開きながらそのまま作れるように、すべてのコードを省略なしで掲載しています。親子で画面を見ながら、一つずつブロックを組んでみてください。

鬼ごっこゲームがScratch学習に向いている理由

Scratchで作れるゲームはたくさんありますが、私は鬼ごっこゲームが最初のステップとしてちょうどいいと感じています。理由はいくつかあります。

まず、ルールが直感的です。「鬼から逃げる」「捕まったら終わり」というシンプルな仕組みなので、お子さんが完成形をイメージしやすいのがポイントです。ゲームの全体像が見えていると、プログラミングの途中で迷子になりにくいかもしれません。

さらに、鬼ごっこゲームには「キャラクターの移動」「当たり判定」「スコア管理」といった、ゲーム作りの基本要素がバランスよく含まれています。これらを一通り経験しておくと、次にシューティングゲームやアクションゲームを作るときにも応用が利きます。

もう一つ、私が教室で感じているメリットがあります。それは「改造しやすい」ことです。鬼を増やす、アイテムを置く、ステージを変えるなど、お子さんが「こうしたい」と思いついたアイデアをすぐ形にできます。完成して終わりではなく、そこから自分だけのゲームに育てていける——この体験がプログラミングの楽しさを実感させてくれます。

同じように「何を作らせたらいいだろう」と悩んでいる方も多いのではないでしょうか。まずは鬼ごっこから始めてみると、お子さんの理解度や興味の方向が見えてくると思います。

完成イメージを確認しよう

コードを組み始める前に、今回作るゲームの全体像を整理しておきます。最初にゴールを共有しておくと、親子で作業するときに「今どこをやっているのか」が分かりやすくなります。

  • プレイヤー(ネコ)をキーボードの矢印キーで上下左右に動かす
  • (コウモリ)がプレイヤーを自動で追いかけてくる
  • 鬼に触れたらゲームオーバーで、「つかまえた!」と表示される
  • タイマーで逃げた時間を計測し、それがスコアになる
  • ゲームの開始・終了がきちんと制御されている

スプライトは「プレイヤー(Scratch Cat)」と「鬼(Bat)」の2つだけ。背景を1つ選べば準備完了です。では、さっそく作っていきましょう。

鬼ごっこゲームの作り方——5つのステップ

実際の制作手順を、つまずきやすいポイントも交えながらご紹介します。私自身、最初に作ったとき見落としていた点もあるので、その経験も含めてお伝えします。

ステップ1:キャラクターと背景を用意する

Scratchを開いたら、まずスプライト(キャラクター)を2つ用意します。1つは「逃げる側(プレイヤー)」、もう1つは「鬼」です。Scratchにはネコやコウモリなど楽しいスプライトが揃っているので、お子さんの好きなキャラクターを選んでみてください。

  • プレイヤー用スプライト:ネコ(Scratch Cat)など
  • 鬼用スプライト:コウモリ(Bat)やドラゴン(Dragon)など

背景も「Blue Sky」や「Colorful City」など、ゲームの雰囲気に合うものを選ぶと完成度が上がります。

スプライトを選んだら、大きさも調整しておきましょう。キャラクターが大きすぎると画面が窮屈になり、すぐに鬼に捕まってしまいます。スプライトの「大きさ」欄で以下のように設定するのがおすすめです。

  • プレイヤー(Scratch Cat):大きさを 60 に設定
  • 鬼(Bat):大きさを 70 に設定

また、ゲーム開始時のスプライトの位置も決めておきます。プレイヤーは画面の左側、鬼は右側に配置すると、追いかけっこの緊張感が生まれます。この初期位置はステップ2のコードで設定します。

ステップ2:プレイヤーをキーボードで動かす

プレイヤーのスプライト(Scratch Cat)を選択し、以下のブロックを組みます。

🏁 旗が押されたとき
  x座標を (-180)、y座標を (0) にする
  ずっと
    もし <[右向き矢印 v] キーが押された> なら
      x座標を (10) ずつ変える
    end
    もし <[左向き矢印 v] キーが押された> なら
      x座標を (-10) ずつ変える
    end
    もし <[上向き矢印 v] キーが押された> なら
      y座標を (10) ずつ変える
    end
    もし <[下向き矢印 v] キーが押された> なら
      y座標を (-10) ずつ変える
    end
  end

ここでのポイントは「ずっと」ブロックの中に「もし〜なら」を入れることです。私が最初に作ったときは「ずっと」を忘れてしまい、一度しかキーが反応しなくて困りました。振り返ると単純なミスでしたが、お子さんも同じところでつまずくことがあるかもしれません。

もう一つ注意したいのが、最初の行にある 「x座標を -180、y座標を 0 にする」 です。これはゲーム開始時にプレイヤーを画面の左側にリセットするためのブロックです。この一行がないと、2回目以降にゲームを始めたとき、前回捕まった位置からスタートしてしまいます。私も教室で「先生、最初から鬼の隣にいるんだけど!」と言われて気づいたことがあります。

移動速度の「10」という数値について補足です。Scratchのステージは横が-240〜240、縦が-180〜180の座標で構成されています。「10ずつ変える」ということは、キーを1回押すたびに画面幅の約2%移動する計算です。お子さんが「もっと速く動きたい」と言ったら15に、「細かく動きたい」なら5に変えてみてください。数値を変えるだけで操作感が大きく変わるので、調整の楽しさを実感できるはずです。

ステップ3:鬼を自動で追いかけさせる

次に、鬼のスプライト(Bat)を選択して、プレイヤーを自動で追いかける動きをつけます。

🏁 旗が押されたとき
  x座標を (180)、y座標を (0) にする
  ずっと
    [Scratch Cat v] へ向ける
    (3) 歩動かす
  end

鬼にも 「x座標を 180、y座標を 0 にする」 を入れています。こうすることで、鬼は毎回画面の右側からスタートします。プレイヤーとの初期距離が一定になるので、ゲームの公平性が保たれます。

「3歩」の数値がゲームの難易度を左右します。数値が大きいほど鬼が速くなるので、最初は3〜5くらいから始めて調整するのがおすすめです。AとBで悩むように、速すぎると難しく、遅すぎるとつまらない——このバランス調整こそゲーム作りの面白さだと感じています。

「〇へ向ける」ブロックの仕組みを少し解説しておきます。このブロックは、鬼の向きをプレイヤーの現在地に合わせて毎フレーム更新します。「ずっと」の中に入れているので、プレイヤーがどこに逃げても鬼は常にそちらを向いて近づいてきます。まっすぐ追いかけてくるので、お子さんはジグザグに逃げる工夫を自然と考え始めます。これが「考えて動く」体験のきっかけになるのです。

ステップ4:当たり判定を作る

鬼がプレイヤーに触れたらゲームオーバーになる仕組みを追加します。ステップ3のコードを以下のように拡張してください。

🏁 旗が押されたとき
  x座標を (180)、y座標を (0) にする
  ずっと
    [Scratch Cat v] へ向ける
    (3) 歩動かす
    もし <[Scratch Cat v] に触れた> なら
      [つかまえた!] と (2) 秒言う
      すべてを止める
    end
  end

当たり判定はゲーム作りの核になる部分です。ここが動くと、一気に「ゲームらしさ」が出てきます。お子さんのテンションが上がる瞬間でもあるので、ぜひ一緒に画面を見てあげてください。

「すべてを止める」の注意点があります。このブロックには「すべてを止める」「このスクリプトを止める」「スプライトの他のスクリプトを止める」という3つの選択肢があります。今回は「すべてを止める」を選んでください。これを選ぶと、プレイヤーの移動もタイマーも含めて、ゲーム全体が停止します。「このスクリプトを止める」を選んでしまうと、鬼だけ止まってプレイヤーがまだ動けてしまうので、ゲームオーバー感が薄れてしまいます。

ステップ5:タイマーでスコアをつける

最後に、どれだけ長く逃げられたかを測るタイマーを追加します。プレイヤーのスプライト(Scratch Cat)のコードに、タイマーリセットを追加します。

🏁 旗が押されたとき
  タイマーをリセット
  x座標を (-180)、y座標を (0) にする
  ずっと
    もし <[右向き矢印 v] キーが押された> なら
      x座標を (10) ずつ変える
    end
    もし <[左向き矢印 v] キーが押された> なら
      x座標を (-10) ずつ変える
    end
    もし <[上向き矢印 v] キーが押された> なら
      y座標を (10) ずつ変える
    end
    もし <[下向き矢印 v] キーが押された> なら
      y座標を (-10) ずつ変える
    end
  end

Scratchには「タイマー」という組み込みの変数があるので、画面にチェックを入れて表示するだけでOKです。ゲームオーバー時にタイマーの値を確認すれば、それがスコアになります。

タイマーを画面に表示する方法を詳しく説明します。画面左側のブロックパレットで「調べる」カテゴリを開いてください。下の方に「タイマー」という項目があり、その横にチェックボックスがあります。ここにチェックを入れると、ステージの左上にタイマーの数値がリアルタイムで表示されます。「タイマーをリセット」ブロックを旗が押されたときの最初に置くことで、ゲーム開始と同時に0秒からカウントが始まります。

完成コードのまとめ

ここまでの5ステップを整理して、完成版のコード全体を掲載します。コードはスプライトごとに分かれているので、それぞれ正しいスプライトを選択してからブロックを組んでください。

プレイヤー(Scratch Cat)の完成コード

🏁 旗が押されたとき
  タイマーをリセット
  x座標を (-180)、y座標を (0) にする
  ずっと
    もし <[右向き矢印 v] キーが押された> なら
      x座標を (10) ずつ変える
    end
    もし <[左向き矢印 v] キーが押された> なら
      x座標を (-10) ずつ変える
    end
    もし <[上向き矢印 v] キーが押された> なら
      y座標を (10) ずつ変える
    end
    もし <[下向き矢印 v] キーが押された> なら
      y座標を (-10) ずつ変える
    end
  end

鬼(Bat)の完成コード

🏁 旗が押されたとき
  x座標を (180)、y座標を (0) にする
  ずっと
    [Scratch Cat v] へ向ける
    (3) 歩動かす
    もし <[Scratch Cat v] に触れた> なら
      [つかまえた!] と (2) 秒言う
      すべてを止める
    end
  end

背景の設定

背景はステージをクリックして「背景を選ぶ」から好きなものを選んでください。コードは不要です。

使うブロック一覧

以下に、今回のゲームで使う主なブロックをまとめました。

ブロック カテゴリ 役割
ずっと 制御 処理を繰り返し続ける
もし〜なら 制御 条件が合ったときだけ実行
〇歩動かす 動き スプライトを移動させる
〇へ向ける 動き 指定した対象の方を向く
x座標を〇ずつ変える 動き 横方向に移動する
y座標を〇ずつ変える 動き 縦方向に移動する
x座標を〇、y座標を〇にする 動き 指定した位置に瞬間移動する
〇に触れた 調べる 当たり判定に使う
タイマー 調べる 経過時間を計測する
タイマーをリセット 調べる タイマーを0に戻す
すべてを止める 制御 ゲームを停止する

うまく動かないときのチェックリスト

教室でよくある「動かない!」の原因をまとめました。お子さんが困っていたら、上から順に確認してみてください。

プレイヤーが動かない場合: - 「ずっと」ブロックが抜けていないか確認する - 「もし〜なら」がきちんと「ずっと」の中に入っているか確認する - キーボードの矢印キー名が正しく選択されているか確認する(「右向き矢印」を「d」などにしていないか)

鬼が追いかけてこない場合: - 「〇へ向ける」の対象が正しいスプライト名になっているか確認する(スプライト名を変更した場合は要注意) - 「歩動かす」の数値が0になっていないか確認する

触れてもゲームオーバーにならない場合: - 「〇に触れた」ブロックの対象スプライト名が正しいか確認する - 「もし〜なら」がきちんと「ずっと」の中に入っているか確認する

私の経験上、一番多いのはスプライト名の不一致です。スプライト名を「ネコ」に変更したのに、コードでは「Scratch Cat」のまま——というケースを何度も見てきました。スプライト名を変えたら、コード側も必ず合わせるようにしてください。

さらに面白くするアレンジアイデア

基本の鬼ごっこが完成したら、お子さんと一緒に機能を追加してみてください。アレンジの幅が広いのも、鬼ごっこゲームの良いところです。

  • 鬼を増やす:スプライトを複製して2体、3体にすると一気に難易度が上がります
  • アイテムを置く:触れるとスピードアップするアイテムを配置すると戦略性が生まれます
  • ステージを変える:一定時間ごとに背景を切り替えると飽きにくくなります
  • 効果音をつける:捕まったときや逃げ切ったときに音を鳴らすと臨場感が出ます

ここでは、特に人気のある「鬼を増やす」アレンジの具体的な手順をご紹介します。

アレンジ例:鬼を2体に増やす

鬼のスプライト(Bat)を右クリックして「複製」を選びます。すると「Bat2」というスプライトが自動で作られ、コードもそのままコピーされます。ただし、2体が同じ位置からスタートすると重なってしまうので、Bat2の初期位置だけ変更しましょう。

【Bat2のコード】
🏁 旗が押されたとき
  x座標を (150)、y座標を (130) にする
  ずっと
    [Scratch Cat v] へ向ける
    (2) 歩動かす
    もし <[Scratch Cat v] に触れた> なら
      [つかまえた!] と (2) 秒言う
      すべてを止める
    end
  end

ポイントは、Bat2の速度を「2歩」にしている点です。2体の鬼が同じ速度だと動きが単調になりますが、速度を変えることで「速い鬼を優先して避けつつ、遅い鬼の位置も気にする」という奥深い駆け引きが生まれます。教室の子どもたちも、この違いに気づくと目を輝かせていました。

どれから手をつけるか迷うところですが、まずは鬼を増やすアレンジが簡単で効果も大きいのでおすすめです。一概には言えない部分もありますが、お子さんが「もっとこうしたい」と思った順に取り組むのが、一番モチベーションを保ちやすいと感じました。

鬼ごっこゲーム作りで身につく力

このゲームを完成させる過程で、お子さんはいくつかの大切な力を自然と身につけていきます。

まずは論理的思考力です。「もし〜なら」という条件分岐や「ずっと」の繰り返しは、プログラミングだけでなく日常の問題解決にも通じる考え方です。たとえば「もし雨が降っていたら傘を持っていく」という判断も、構造としては同じ条件分岐です。Scratchのブロックで視覚的に体験することで、こうした考え方が感覚として身についていきます。

次に試行錯誤する力。鬼のスピードを調整したり、アイテムの効果を考えたりする中で、「やってみて、直す」というサイクルを体験できます。最初からうまくいかないのは当たり前で、そこから工夫を重ねるプロセスにこそ学びがあるのではないでしょうか。

実際に教室では、鬼の速さを「10」にして一瞬で捕まってしまった子が、「じゃあ3にしてみよう」「5だとちょうどいい!」と自分で最適な値を見つけていく場面を何度も見てきました。こうした「数値を変えて結果を確かめる」という体験は、算数や理科の実験にも通じる大切な姿勢だと思います。

そして創造力。基本の仕組みができた後、自分なりのアレンジを考える時間は、お子さんにとって最もワクワクする瞬間です。私も教室で子どもたちを見ていて、この段階での表情の変化にはいつも気づかされるものがあります。

まとめ

Scratchの鬼ごっこゲームは、プログラミングの入り口として手軽でありながら、奥が深い題材です。今回の記事で紹介したコードをそのまま組めば、15〜30分ほどで遊べるゲームが完成します。

作る過程をおさらいしておきましょう。

  1. キャラクターと背景を用意する(Scratch CatとBatを選ぶ)
  2. プレイヤーを矢印キーで動かす(「ずっと」+「もし〜なら」で4方向移動)
  3. 鬼を自動で追いかけさせる(「〇へ向ける」+「〇歩動かす」)
  4. 当たり判定を作る(「〇に触れた」でゲームオーバー)
  5. タイマーでスコアをつける(「タイマーをリセット」+表示チェック)

お子さんが自分だけのゲームを完成させたときの達成感は、きっと次のチャレンジへの原動力になります。もし「一人ではちょっと難しいかも」と感じたら、CODESTELLAの無料体験で講師と一緒に作ってみるのも一つの方法です。下田市で実際にお子さんの隣に座ってサポートしますので、お気軽にお問い合わせください。