はじめに📋 検定って どんな 試験?
問題文を 読んで、その通りに Scratch で ゲームを 1つ ぜんぶ 作る 試験だよ。⏱ 30分
下の 条件を ぜんぶ かなえると、ゲームが 完成するよ。最後に「アレンジ問題」も あるよ。
🏒 3きゅう の ポイント
変数・乱数・マウス操作・色に触れた判定・音・メッセージが 使えるかが 問われるよ。
条件を しっかり 読んで、1つずつ 作っていこう。
変数・乱数・マウス操作・色に触れた判定・音・メッセージが 使えるかが 問われるよ。
条件を しっかり 読んで、1つずつ 作っていこう。
準備🛠 まず 準備を しよう
🧑🏫ここは 先生と いっしょに やろう。スプライト・変数・背景を そろえるよ。
① 新しい プロジェクトを 作って、名前を つける
ホッケー
② スプライトを 2つ 用意する
🏏
ラケットPaddle
「スプライトを えらぶ」で
Paddle を 探して 足す
Paddle を 探して 足す
⚽
ボールBall
「スプライトを えらぶ」で
Ball を 探して 足す
Ball を 探して 足す
③ 背景を 用意する(「背景を えらぶ」から)
ホッケーコート(例:Blue Sky を 改造するか、ペイントで 作る)。
ゴールの 線(青色)は 上の ライン、ゲームオーバーの 線(赤色)は 下の ライン、
障害物(うすい 青色)は コートの 中に 置く 形に なるよ。
④ 変数を 2つ 作る
「変数」カテゴリの「変数を 作る」をクリックして、
速さ(「すべてのスプライト用」)と 点数(「すべてのスプライト用」)を それぞれ 作ろう。
💡 本番の 検定では これらは ファイルに 用意ずみ。今日は 先生と いっしょに そろえる ところから やってみよう。
↑ 準備が できたら チェックを 入れてね
問題🏒 ホッケー ゲームを 作ろう
✋ ここからは 自分 ひとりで チャレンジ! 条件を 読んで、ゲームを 作ろう。
🎮 どんな ゲーム?
ラケットを マウスで 動かして、ボールを 打ち返す ゲーム。
ボールが 青い ゴールラインに 届いたら 点数が 増えて 再スタート。
ボールが 赤い 下ラインに 触れたら ゲームオーバー!
ラケットを マウスで 動かして、ボールを 打ち返す ゲーム。
ボールが 青い ゴールラインに 届いたら 点数が 増えて 再スタート。
ボールが 赤い 下ラインに 触れたら ゲームオーバー!
🖱️ マウス or ゆびで 🏒パドルを 動かして ⚫パックを 打ち返そう! 先に 5点でクリア!
🖼(1)【ステージ(背景)】の 動作を 作ろう
① 旗が クリックされたとき(はじめの 設定)。
- 変数「点数」が「0」になる。
- 音量が「30」%になる。
- メッセージ「ゲームスタート」が 送られる。
💡 使う ブロック(バラ)
@greenFlag が押されたとき
[点数 v] を (0) にする
音量を (30) %にする
[ゲームスタート v] を送る
② ①の あとの 動作。
ずっと、繰り返し、音「techno2」が 鳴り つづける(音が 鳴り 終わる前に 次の 音は 鳴らさない)。
ずっと、繰り返し、音「techno2」が 鳴り つづける(音が 鳴り 終わる前に 次の 音は 鳴らさない)。
💡 使う ブロック(バラ)
終わるまで [techno2 v] の音を鳴らす
③ メッセージ「ゴール」を 受け取ったときの 動作。a〜cの 順に 動作する。
- a. 変数「点数」が「1」ずつ 増える。
- b. 「2」秒 待つ。
- c. メッセージ「ゲームスタート」が 送られる。
💡 使う ブロック(バラ)
[ゴール v] を受け取ったとき
[点数 v] を (1) ずつ変える
(2) 秒待つ
[ゲームスタート v] を送る
🏏(2)【ラケット】の 動作を 作ろう
④ 旗が クリックされたとき(はじめの 設定)。
- Y座標が「-150」になる。
- 回転方法が「左右のみ」になる。
- 大きさが「60」%になる。
💡 使う ブロック(バラ)
@greenFlag が押されたとき
y座標を (-150) にする
回転方法を [左右のみ v] にする
大きさを (60) %にする
⑤ ④の あとの 動作(X座標の 変化)。
ずっと、繰り返し、X座標が マウスの X座標に なり つづける。
ずっと、繰り返し、X座標が マウスの X座標に なり つづける。
💡 使う ブロック(バラ)
x座標を (マウスのx座標) にする
⚽(3)【ボール】の 動作を 作ろう
⑥ 旗が クリックされたとき(はじめの 設定)。
- 回転方法が「左右のみ」になる。
- 大きさが「40」%になる。
- ステージに 表示される。
💡 使う ブロック(バラ)
@greenFlag が押されたとき
回転方法を [左右のみ v] にする
大きさを (40) %にする
表示する
1
→
4
→
6
→
?
毎回 違う 数が 出る
⑦ メッセージ「ゲームスタート」を 受け取ったときの 動作。
- 変数「速さ」が「7」になる。
- X座標が「0」、Y座標が「-100」になる。
- 向きが「-60」度から「60」度までの ランダムな 値に なる。
💡 使う ブロック(バラ)
[ゲームスタート v] を受け取ったとき
[速さ v] を (7) にする
x座標を (0) 、y座標を (-100) にする
((-60) から (60) までの乱数) 度に向ける
🍎
💥
触れた! = 当たり
⑧ ⑦の あとの 動作。
ゴール(青色)に 触れるまで、繰り返し、⑨⑩⑪の 順に 動作し つづける。
ゴール(青色)に 触れたとき、メッセージ「ゴール」が 送られる。
ゴール(青色)に 触れるまで、繰り返し、⑨⑩⑪の 順に 動作し つづける。
ゴール(青色)に 触れたとき、メッセージ「ゴール」が 送られる。
💡 使う ブロック(バラ)
<[青色 v] 色に触れた> まで繰り返す
[ゴール v] を送る
🤔 「〜まで 繰り返す」は どの「制御」ブロックかな? ループの 中に ⑨⑩⑪を 入れるよ。
⑨ ボールの 動作。a〜cの 順に 動作する。
- a. 変数「速さ」の 歩数だけ 動く。
- b. ステージの 端に 着いたとき、音「Sidestick Snare」が 鳴る。
- c. ステージの 端に 着いたとき、跳ね 返る。
💡 使う ブロック(バラ)
(速さ) 歩動かす
もし端に着いたら、跳ね返る
[Sidestick Snare v] の音を鳴らす
🤔 「端に 着いたら 音を 鳴らす」には「もし〜」で 端への 触れを 判定 しよう。まず 音を 鳴らして から 跳ね返る 順が 自然だよ。
⑩ ⑨の あとの 動作。
かべや 障害物(うすい 青色)に 触れたとき、a〜cの 順に 動作する。
かべや 障害物(うすい 青色)に 触れたとき、a〜cの 順に 動作する。
- a. 音「Sidestick Snare」が 鳴る。
- b. 変数「速さ」の 歩数だけ もどる(反対方向に 動く)。
- c. 向きが、「140」度から「220」度までの ランダムな 値 だけ 回る。
💡 使う ブロック(バラ)
もし <[うすい青色 v] 色に触れた> なら end
[Sidestick Snare v] の音を鳴らす
((速さ) * (-1)) 歩動かす
@turnRight ((140) から (220) までの乱数) 度回す
⑪ ⑩の あとの 動作。
ステージ下の ライン(赤色)に 触れたとき、a・bの 順に 動作する。
ステージ下の ライン(赤色)に 触れたとき、a・bの 順に 動作する。
- a. メッセージ「ゲームオーバー」が 送られて 待つ。
- b. すべての 動作が 止まる。
💡 使う ブロック(バラ)
もし <[赤色 v] 色に触れた> なら end
[ゲームオーバー v] を送って待つ
[すべてを止める v]
⑫ メッセージ「ゲームスタート」を 受け取ったときの 動作。
ずっと、繰り返し、⑬が 動作し つづける。
ずっと、繰り返し、⑬が 動作し つづける。
⑬ ラケットに 触れたときの 動作。a〜dの 順に 動作する。
- a. 変数「速さ」が「1」増える。
- b. 音「Sidestick Snare」が 鳴る。
- c. 向きが、ラケットへ 向いた あと、さらに「180」度 回る。
- d. ラケットに 触れなく なるまで 待つ。
💡 使う ブロック(バラ)
もし <[ラケット v] に触れた> なら end
[速さ v] を (1) ずつ変える
[Sidestick Snare v] の音を鳴らす
[ラケット v] へ向ける
@turnRight (180) 度回す
<[ラケット v] に触れた> まで待つ
🤔 ⑬の最後「ラケットに触れなくなるまで待つ」は「〜まで待つ」に「ではない」を組み合わせるよ。連続 ヒットで 速さが 増えすぎるのを 防ぐためだよ。
答え:こう 並べると できるよ。
【ステージ】①②のスクリプト
@greenFlag が押されたとき [点数 v] を (0) にする 音量を (30) %にする [ゲームスタート v] を送る ずっと 終わるまで [techno2 v] の音を鳴らす end
【ステージ】③のスクリプト
[ゴール v] を受け取ったとき [点数 v] を (1) ずつ変える (2) 秒待つ [ゲームスタート v] を送る
【ラケット】④⑤のスクリプト
@greenFlag が押されたとき y座標を (-150) にする 回転方法を [左右のみ v] にする 大きさを (60) %にする ずっと x座標を (マウスのx座標) にする end
【ボール】⑥のスクリプト
@greenFlag が押されたとき 回転方法を [左右のみ v] にする 大きさを (40) %にする 表示する
【ボール】⑦〜⑪のスクリプト(メインループ)
[ゲームスタート v] を受け取ったとき
[速さ v] を (7) にする
x座標を (0) 、y座標を (-100) にする
((-60) から (60) までの乱数) 度に向ける
<[青色 v] 色に触れた> まで繰り返す
(速さ) 歩動かす
もし端に着いたら、跳ね返る
もし <[うすい青色 v] 色に触れた> なら
[Sidestick Snare v] の音を鳴らす
((速さ) * (-1)) 歩動かす
@turnRight ((140) から (220) までの乱数) 度回す
end
もし <[赤色 v] 色に触れた> なら
[ゲームオーバー v] を送って待つ
[すべてを止める v]
end
end
[ゴール v] を送る
【ボール】⑫⑬のスクリプト(ラケット 当たり 判定)
[ゲームスタート v] を受け取ったとき
ずっと
もし <[ラケット v] に触れた> なら
[速さ v] を (1) ずつ変える
[Sidestick Snare v] の音を鳴らす
[ラケット v] へ向ける
@turnRight (180) 度回す
<[ラケット v] に触れた> まで待つ
end
end
↑ ゲームが できたら チェックを 入れてね
アレンジ問題✨ 自分で 考えて、1つ 足そう
回答に 自分の アレンジを 加えて、何を したか 説明できると 完璧!(アレンジは 問題の 指示から ずれないように)
🎯
点数が 増えると ボールが どんどん 速く なる
🔴
ボールが 2つ に なって 難しく なる
🎵
ゴール 時に 別の 効果音を 鳴らす
💥
ゲームオーバー 時に 演出(大きく なる など)を 追加
🏆
点数が「3」になったら クリア 演出を 追加
💡
自分の アイデア!
【記入例】 点数が 増えるたびに 変数「速さ」に も 少し 足すようにして、だんだん 難しく なる ようにした。
※「スプライトを 変えた」ではなく「〇〇が 〇〇に なるように した」のように、動作が わかるように 説明してね。
※「スプライトを 変えた」ではなく「〇〇が 〇〇に なるように した」のように、動作が わかるように 説明してね。
↑ アレンジを 足したら チェックを 入れてね
完成🎉 模擬検定 3 クリア!
変数・乱数・マウス操作・色に触れた判定・音・メッセージを 使った ホッケーゲームを 1つ ぜんぶ 作れたね。これが 3きゅう 検定の ボリュームだよ。
模擬検定 3 クリア ✓
🏆 本番 検定に 挑戦しよう!
30分で これくらいの ゲームを 作るよ。今日 練習した ことが そのまま 役に たつ!💪
↑ さいごまで すすむと おせるよ