Scratchで簡単!猫とネズミの追いかけっこゲームを作ろう


2025年10月のCoderDojo稲城で、面白い動作を勉強したので、メモ

Scratch(スクラッチ)を使って、可愛い猫とネズミが追いかけっこするシンプルなゲームを作ってみましょう!
プログラミング初心者の方でも、この記事を見ながら簡単に自分だけのゲームを作ることができます。

ゲームの概要

このゲームでは、プレイヤーはマウスで猫を操作し、ステージ上を逃げ回るネズミを捕まえることを目指します。スコアや制限時間も追加して、本格的なゲームに挑戦してみましょう!

1. スプライト(キャラクター)を準備しよう

まず、ゲームに登場するキャラクターを用意します。

  1. Scratchを開く: Scratchのウェブサイト(scratch.mit.edu)にアクセスし、「作る」をクリックして新しいプロジェクトを開始します。
  2. 猫のスプライト: 最初からステージにいる「スプライト1」(Scratch Cat)をそのまま使用しましょう。これがプレイヤーが操作する猫になります。
  3. ネズミのスプライト:
    • スプライトリストの右下にある「スプライトを選ぶ」ボタン(猫の顔のアイコン)をクリックします。
    • スプライトライブラリの中から「Mouse」(ネズミ)を選び、クリックして追加します。

2. 猫の動きを設定しよう(プレイヤーの操作)

猫がマウスのポインターに追従するようにプログラミングします。

▼ 猫のスプライト(例: 「スプライト1」)をクリックし、以下のコードを組み立てます。

コード スニペット

緑の旗が押されたとき
ずっと
    マウスのポインターへ行く
  • 緑の旗が押されたとき: ゲームが開始されると、このコードが実行されます。
  • ずっと: その中のブロックを繰り返し実行し続けます。
  • マウスのポインターへ行く: 猫が常にマウスカーソルの位置に移動します。

これで、マウスを動かすと猫がその動きについてくるようになります。

3. ネズミの動きを設定しよう(猫から逃げるAI)

ネズミが猫から逃げるようにプログラミングします。

▼ ネズミのスプライト(例: 「Mouse」)をクリックし、以下のコードを組み立てます。

緑の旗が押されたとき
ずっと
    スプライト1へ向ける  // ここはあなたの猫のスプライト名に合わせてください
    180度回す
    5歩動かす
    もし端に着いたら、はね返る
  • スプライト1へ向ける: まず、猫の方向を向きます。(「スプライト1」の部分は、実際に使っている猫のスプライト名に合わせてください)
  • 180度回す: 猫の方向を向いた後、その場でくるっと真逆の方向(180度)に回転します。これが「逃げる」動きのポイントです。
  • 5歩動かす: 反対方向に向かって進みます。この「5」の数字を大きくするとネズミが速く逃げ、ゲームの難易度が上がります。
  • もし端に着いたら、はね返る: ネズミがステージの端に到達した際に、画面の外に出てしまわないように方向を変えて跳ね返ります。

4. ゲームの目標とスコアを追加しよう(発展編)

ゲームに「捕まえる」という目標と、達成度を示す「スコア」、そして「制限時間」を追加してみましょう。

4-1. 変数を作成する

「変数」カテゴリをクリックし、「変数を作る」ボタンを押して、以下の2つの変数を作成します。

  • スコア
  • 残り時間

4-2. 猫のスプライトにスコアと時間の設定を追加

▼ 猫のスプライト(例: 「スプライト1」)に、以下のコードを追加します。

コード スニペット

// ゲーム開始時の設定
緑の旗が押されたとき
スコアを0にする
残り時間を30にする // 例えば30秒に設定してみましょう
// ネズミを捕まえた時の処理
ずっと
    もしMouseに触れたなら // 「Mouse」はあなたのネズミのスプライト名に合わせてください
        スコアを1ずつ変える
        Mouseにメッセージ1を送る // ネズミをワープさせるための合図
    end
end

// 時間カウントダウンの処理
緑の旗が押されたとき
繰り返し(残り時間)回
    もし残り時間が0より大きいなら
        1秒待つ
        残り時間を-1ずつ変える
    end
もし残り時間が0になったなら
    すべてを止める // 残り時間が0になったらゲームを終了
end

4-3. ネズミのスプライトにワープ機能を追加

ネズミが猫に捕まったら、新しい場所にワープするようにします。

▼ ネズミのスプライト(例: 「Mouse」)に、以下のコードを追加します。

コード スニペット

メッセージ1を受け取ったとき
どこかの場所へ行く // 猫に触れたら、ステージ上のどこかランダムな場所に移動

まとめ

これで、プレイヤーが猫を操作してネズミを追いかけ、捕まえるたびにスコアが加算され、制限時間のある追いかけっこゲームが完成しました!

  • 難易度調整のヒント:
    • ネズミの5歩動かすの数字を変えると、ネズミの速さを調整できます。
    • 残り時間の初期値を調整すると、プレイ時間を変更できます。

ぜひこのゲームを友達とプレイしたり、さらに自分なりのアレンジを加えてみたりして、Scratchプログラミングを楽しんでくださいね!

この記事を書いた人

tsubasatwi( つばさ)

国立工業高専卒業(新居浜工業高等専門学校)
「イベント×IT×営業」のカスタマーサクセスマネージャーとして活躍。セールス→構築管理運用まで全体プロジェクト管理の豊富な経験あり。

・主にITに関するイベント集客/法人営業/開発を担当
・大手通信会社を中心にエンタープライズのIT導入を担当(B2B)

DMMで日本初の NoCodeサロン を運営
「NoCodeCamp プログラミングを使わないIT開発 」
https://lounge.dmm.com/detail/2549/