1きゅう テーマ:ブロックくずし ブロックくずし ゲームを 作ろう 進み

はじめに📋 検定って どんな 試験?

問題文を 読んで、その通りに Scratch で ゲームを 1つ ぜんぶ 作る 試験だよ。⏱ 30分

下の 条件を ぜんぶ かなえると、ゲームが 完成するよ。最後に「アレンジ問題」も あるよ。

🧱 1きゅう の ポイント
クローンで ブロックを 7×3 段 組み・余りで ボールの 角度を 調整・タイマーで クリアタイム を 記録・リスト「セリフ」の 活用 が 問われるよ。
条件を しっかり 読んで、1つずつ 作っていこう。

準備🛠 まず 準備を しよう

🧑‍🏫ここは 先生と いっしょに やろう。スプライト・変数・リスト・メッセージを そろえるよ。
① 新しい プロジェクトを 作って、名前を つける

ブロックくずし

② スプライトを 4つ 用意する(「スプライトを えらぶ」→ ファイルから アップロード)
🐶
プレイヤー(バー)scratch-dog.svg
左右キーで 横に 動く バー
🍎
ブロックscratch-apple.svg
クローンで 7×3 段 並ぶ
⚽
ボールscratch-ball.svg
弾んで ブロックを 壊す
🐸
画面 表示scratch-frog.svg
管理・カウントダウン・非表示
③ 変数を 4つ 作る(「すべてのスプライト用」)

おわり・消した数・クリアタイム・ベストタイム を それぞれ 作ろう。

④ リストを 1つ 作る(「すべてのスプライト用」)

セリフ という 名前の リストを 作ろう。

⑤ メッセージを 4つ 作る

初期化・ゲームスタート・セリフ・ブロック作る を 作ろう。

💡 本番の 検定では これらは ファイルに 用意ずみ。今日は 先生と いっしょに そろえる ところから やってみよう。
↑ 準備が できたら チェックを 入れてね

問題🧱 ブロックくずし ゲームを 作ろう

✋ ここからは 自分 ひとりで チャレンジ! 条件を 読んで、ゲームを 作ろう。
🎮 どんな ゲーム?
バー(🐶)を 左右 矢印キーで 動かして、ボール(⚽)を 弾ませる。
ブロック(🍎)を ぜんぶ 壊すと クリア!クリアタイムが ベストタイムより 短ければ 記録 更新!
ボールが 画面 下の ラインに 触れると ゲームオーバー。
🖱️ マウス / ゆび で パドルを 動かす ブロックを ぜんぶ 壊すと クリア!

🐸 セクション 1:【画面 表示(管理)】の 動作を 作ろう

① 旗が クリックされたとき(初期 設定 → カウントダウン → ゲームスタート)。
  • 「初期化」を 送る。
💡 使う ブロック(バラ)
@greenFlag が押されたとき
[初期化 v] を送る
② 「初期化」を 受け取ったとき(変数・リスト を リセットして カウントダウン)。
  • おわり を 0 にする。
  • 消した数 を 0 にする。
  • クリアタイム を 99999 にする。
  • リスト「セリフ」を すべて 削除する。
  • 「セリフ」に「よーい…」を 追加する。
  • 「セリフ」に「どん!」を 追加する。
  • 「セリフ」に「スタート!」を 追加する。
  • 3 回 繰り返す → 「セリフ」の (繰り返し カウンタ)番目 と 1 秒言う → 「ブロック作る」を 送る(1 回目 のみ ブロックを 作る)。
  • 繰り返しが 終わったら タイマーを リセット → 「ゲームスタート」を 送る。
💡 使う ブロック(バラ)
[初期化 v] を受け取ったとき
[おわり v] を (0) にする
[消した数 v] を (0) にする
[クリアタイム v] を (99999) にする
[セリフ v] のすべてを削除する
[よーい…] を [セリフ v] に追加する
[どん!] を [セリフ v] に追加する
[スタート!] を [セリフ v] に追加する
(3) 回繰り返す
  ([セリフ v] の (繰り返しカウンタ) 番目) と (1) 秒言う
end
タイマーをリセット
[ゲームスタート v] を送る
[ブロック作る v] を送る
💡 「ブロック作る」メッセージは 繰り返しの 1 回目(カウンタ=1)のとき だけ 送る設計でも よい。シンプルに するには 繰り返しの 外で 送っても OK。
③ ずっと 監視(消した数 が 21 を 超えたら クリア)。
  • ずっと → もし 消した数 > 21 なら → クリアタイム を タイマー にする。
  • もし クリアタイム < ベストタイム なら → ベストタイム を クリアタイム にする。
  • おわり を 1 にする。
  • 「クリア!タイム:(クリアタイム)」と 言う。
  • すべてを止める。
💡 使う ブロック(バラ)
ずっと
  もし <(消した数) > (21)> なら
    [クリアタイム v] を (タイマー) にする
    もし <(クリアタイム) < (ベストタイム)> なら
      [ベストタイム v] を (クリアタイム) にする
    end
    [おわり v] を (1) にする
    [クリア!] と言う
    [すべてを止める v]
  end
end

🐶 セクション 2:【プレイヤー(バー)】の 動作を 作ろう

④ 「ゲームスタート」を 受け取ったとき(左右キーで バーを 動かす)。
  • おわり が 1 になるまで 繰り返す。
  • 繰り返しの 中:もし 右向き矢印キーが 押されて x座標 < 200 なら → x座標 を 15 ずつ 変える。
  • もし 左向き矢印キーが 押されて x座標 > -200 なら → x座標 を -15 ずつ 変える。
💡 使う ブロック(バラ)
[ゲームスタート v] を受け取ったとき
<(おわり) = (1)> まで繰り返す
  もし <<[右向き矢印 v] キーが押された> かつ <(x座標) < (200)>> なら
    x座標を (15) ずつ変える
  end
  もし <<[左向き矢印 v] キーが押された> かつ <(x座標) > (-200)>> なら
    x座標を (-15) ずつ変える
  end
end

🍎 セクション 3:【ブロック】の 動作を 作ろう

⑤ 「ブロック作る」を 受け取ったとき(7×3 = 21個 の ブロックを 段 組みする)。
  • x を -150、y を 160 にする。コスチューム を 「青」(または 1)にする。
  • 3 回 繰り返す(行):
    • 7 回 繰り返す(列):「自分自身」のクローンを 作る → x座標 を 50 ずつ 変える。
    • y座標 を -30 ずつ 変える → x を -150 にする(次の 行の 先頭に 戻る)。
💡 使う ブロック(バラ)
[ブロック作る v] を受け取ったとき
x座標を (-150) 、y座標を (160) にする
コスチュームを [青 v] にする
(3) 回繰り返す
  (7) 回繰り返す
    [自分自身 v] のクローンを作る
    x座標を (50) ずつ変える
  end
  y座標を (-30) ずつ変える
  x座標を (-150) にする
end
⑥ クローンされたとき(ブロックが 並んで 表示される)。
  • 表示する。
  • ボールに 触れるまで 待つ → 消した数 を 1 ずつ 変える → このクローンを 削除する。
💡 使う ブロック(バラ)
クローンされたとき
表示する
<[ボール v] に触れた> まで待つ
[消した数 v] を (1) ずつ変える
このクローンを削除する

⚽ セクション 4:【ボール】の 動作を 作ろう

⑦ 「ゲームスタート」を 受け取ったとき(ボールが 動き 続ける)。
  • おわり が 1 になるまで 繰り返す。
  • 繰り返しの 中:10歩 動かす → 端で 跳ね返る。
  • もし 赤色に 触れたら(ゲームオーバー ライン)→ すべてを止める。
  • もし ブロック(🍎)に 触れたら → 125 から 235 の 乱数 度に 向ける → 「pop」の 音を 鳴らす。
  • もし (向き を 90 で 割った 余り)が 0 なら → 向きを 1 度 回す(角度 調整)。
💡 使う ブロック(バラ)
[ゲームスタート v] を受け取ったとき
<(おわり) = (1)> まで繰り返す
  (10) 歩動かす
  もし端に着いたら、跳ね返る
  もし <[赤 v] 色に触れた> なら
    [すべてを止める v]
  end
  もし <[ブロック v] に触れた> なら
    ((125) から (235) までの乱数) 度に向ける
    [pop v] の音を鳴らす
  end
  もし <((向き) を (90) で割った余り) = (0)> なら
    @turnRight (1) 度回す
  end
end

答え:こう 並べると できるよ。

【画面 表示(🐸)】① 旗が クリックされたとき

@greenFlag が押されたとき
[初期化 v] を送る

【画面 表示(🐸)】② 初期化を 受け取ったとき

[初期化 v] を受け取ったとき
[おわり v] を (0) にする
[消した数 v] を (0) にする
[クリアタイム v] を (99999) にする
[セリフ v] のすべてを削除する
[よーい…] を [セリフ v] に追加する
[どん!] を [セリフ v] に追加する
[スタート!] を [セリフ v] に追加する
(3) 回繰り返す
  ([セリフ v] の (繰り返しカウンタ) 番目) と (1) 秒言う
end
[ブロック作る v] を送る
タイマーをリセット
[ゲームスタート v] を送る

【画面 表示(🐸)】③ クリア 監視(ずっと)

ずっと
  もし <(消した数) > (21)> なら
    [クリアタイム v] を (タイマー) にする
    もし <(クリアタイム) < (ベストタイム)> なら
      [ベストタイム v] を (クリアタイム) にする
    end
    [おわり v] を (1) にする
    [クリア!] と言う
    [すべてを止める v]
  end
end

【プレイヤー・バー(🐶)】④ ゲームスタートを 受け取ったとき

[ゲームスタート v] を受け取ったとき
<(おわり) = (1)> まで繰り返す
  もし <<[右向き矢印 v] キーが押された> かつ <(x座標) < (200)>> なら
    x座標を (15) ずつ変える
  end
  もし <<[左向き矢印 v] キーが押された> かつ <(x座標) > (-200)>> なら
    x座標を (-15) ずつ変える
  end
end

【ブロック(🍎)】⑤ ブロック作るを 受け取ったとき(7×3 段組み)

[ブロック作る v] を受け取ったとき
x座標を (-150) 、y座標を (160) にする
コスチュームを [青 v] にする
(3) 回繰り返す
  (7) 回繰り返す
    [自分自身 v] のクローンを作る
    x座標を (50) ずつ変える
  end
  y座標を (-30) ずつ変える
  x座標を (-150) にする
end

【ブロック(🍎)】⑥ クローンされたとき(表示 → ボール待ち → 削除)

クローンされたとき
表示する
<[ボール v] に触れた> まで待つ
[消した数 v] を (1) ずつ変える
このクローンを削除する

【ボール(⚽)】⑦ ゲームスタートを 受け取ったとき(ボールの 動作)

[ゲームスタート v] を受け取ったとき
<(おわり) = (1)> まで繰り返す
  (10) 歩動かす
  もし端に着いたら、跳ね返る
  もし <[赤 v] 色に触れた> なら
    [すべてを止める v]
  end
  もし <[ブロック v] に触れた> なら
    ((125) から (235) までの乱数) 度に向ける
    [pop v] の音を鳴らす
  end
  もし <((向き) を (90) で割った余り) = (0)> なら
    @turnRight (1) 度回す
  end
end
↑ ゲームが できたら チェックを 入れてね

アレンジ問題✨ 自分で 考えて、1つ 足そう

回答に 自分の アレンジを 加えて、何を したか 説明できると 完璧!(アレンジは 問題の 指示から ずれないように)

⚡
壊した ブロック数が 増えるほど ボールが 速く なる
🌈
ブロックを 行ごとに 色を 変える(赤・黄・青)
🎵
BGM を 流し続ける
💣
特別な ブロックを 追加して 触れると 点数 +3
🏆
ベストタイムを 更新したとき 特別な 演出を 追加
💡
自分の アイデア!
【記入例】 消した数が 7 の 倍数に なるたびに ボールの 歩数 を 10 から 13 に 増やした。後半が どんどん 速く なって 面白い!
※「スプライトを 変えた」ではなく「速さが 変わるように した」のように、動作が わかるように 説明してね。
↑ アレンジを 足したら チェックを 入れてね

練習問題📝 検定 練習問題(3問)

検定 本番の ように、自分の 力で 作ってみよう!この ゲームの ブロックを 組み合わせれば できるよ。

🧱 問題は 3問。ブロックくずし ゲームで 習った クローン・余り・キー操作の 使い方を ためそう!
ブロック
🍎 問題1
ブロック
スプライトに
ボール
⚽ 問題2
ボール
スプライトに
バー
🐶 問題3
バー
スプライトに
↑ ブロック(🍎)・ボール(⚽)・バー(🐶)は ちがう スプライト。絵柄も ちがうよ!
ブロック🍎 ブロック スプライトに 作る
🎯 問題1:7回 くりかえして、ブロックの クローンを 作り、x座標を +50 ずつ 変える
(7) 回繰り返す
[自分自身 v] のクローンを作る
x座標を (50) ずつ変える
end

💡 これは ブロック スプライトに 書く。7個の ブロックが 横に 並ぶよ。

ボール⚽ ボール スプライトに 作る
🎯 問題2:ずっと くりかえして、10歩 動き、端で 跳ね返り、もし 向きを 90で 割った余りが 0 なら 右に 1度 回す
ずっと
(10) 歩動かす
もし端に着いたら、跳ね返る
もし <((向き) を (90) で割った余り) = (0)> なら
@turnRight (1) 度回す
end
end

💡 これは ボール スプライトに 書く。余りで 角度が 90度 ぴったりの 時だけ 1度 ずらして 詰まりを 防ぐよ。

バー🐶 バー スプライトに 作る
🎯 問題3:ずっと くりかえして、右キーで x座標+15、左キーで x座標-15(バーを 動かす)
ずっと
もし <[右向き矢印 v] キーが押された> なら
x座標を (15) ずつ変える
end
もし <[左向き矢印 v] キーが押された> なら
x座標を (-15) ずつ変える
end
end

💡 これは バー スプライトに 書く。左右 キーで バーを 動かして ボールを 打ち返すよ。

↑ 3問 全部「自分で 作ってみた!」に チェックすると すすめるよ

完成🎉 模擬検定D クリア!

クローンで ブロック段組み・余りで 角度 調整・タイマー&ベストタイム・リスト「セリフ」 を 使った ブロックくずしを ぜんぶ 作れたね。これが 1きゅう 検定の ボリュームだよ。

模擬検定 D クリア ✓

🏆 本番 検定に 挑戦しよう!

30分で これくらいの ゲームを 作るよ。今日 練習した ことが そのまま 役に たつ!💪

↑ さいごまで すすむと おせるよ