じゃんけんゲームを どのように設計すれば、Scratchのゲームとして成立するのか?
第9回では、これまで分解して理解してきた各処理(INPUT・PROCESS・LOOP・OUTPUT・初期化・履歴・再挑戦)に行きつく設計をどのように考えたのか、Scratch上でじゃんけんゲームとして成立させるための「設計図」の作り方を解説します。
ゲームを自作するために必要な設計の考え方を明確にする回です。
設計とは「ゲーム全体の構造を組み立てること」
Scratchでゲームを作るとき、いきなりブロックを組み始めると必ず迷います。
- どのタイミングで何が起きるのか
- どの変数が必要なのか
- どのイベントを送るのか
- どの処理が先で、どれが後なのか
これらを整理するのが 設計です。
設計は、ゲーム制作の「地図」のようなもの。
地図があるから迷わず進めるし、後から修正もしやすくなります。
じゃんけんゲームの設計で整理すべき要素
Scratchじゃんけんゲームの設計では、次の要素を整理します。
- イベント設計(どのタイミングで何が起きるか)
- 変数設計(勝ち数・挑戦回数・CPUの手など)
- リスト設計(CPUの手履歴)
- メッセージ設計(あいこ・かち・まけ・おわり など)
- 処理の流れ設計(ゲーム全体の順番)
- 画面表示の設計(じゃん・けん・ぽん、結果表示など)
これらを整理することで、 Scratchのじゃんけんゲームが「ひとつの作品」として成立します。
完成品を設計視点で見直す
第1〜8回で分解してきた内容を、 ここでは 設計視点で再構成します。
① 初期化の設計
ゲーム開始時に何を初期化するか?
- 勝ちの回数 = 0
- 挑戦回数 = 0
- CPUの手履歴を削除
- 初めから = 0
- 「じゃんけんで勝負だ!!」と言う
初期化はゲームの「スタート地点」を整える設計です。
② プレイヤー操作(INPUT)の設計
プレイヤーがどのように手を選ぶか?
- グー/チョキ/パーのスプライトを押す
- 押されたら「グー」「チョキ」「パー」イベントを送る
どのスプライトがどのイベントを送るかを設計します。
③ CPUの手(PROCESS)の設計
CPUの手をどう決めるか?
- CPUの手 = 1〜3 の乱数
- 1=グー、2=チョキ、3=パー
どのタイミングで乱数を発生させるかが設計ポイント。
④ 勝敗判定(PROCESS)の設計
勝敗をどう判定するか?
- グー vs CPU
- チョキ vs CPU
- パー vs CPU
勝ち・負け・あいこをどのイベントで送るかを設計します。
⑤ あいこ処理(LOOP)の設計
ゲームが続く仕組みをどう作るか?
- あいこなら「もう一回挑戦しよう!!」
- 表示を消す(けして)
- 再度 INPUT に戻る
ループの設計はゲームの「継続性」を作ります。
⑥ 結果表示(OUTPUT)の設計
勝敗がついたら何をするか?
- 「あなたのかち」
- 「あなたのまけ」
- 勝ち数+1
- 挑戦回数+1
- CPUの手履歴に追加
- 「おわり」イベントを送る
ゲームの「締め」と「次の準備」を設計します。
⑦ 再挑戦の設計
もう一度遊べる仕組みをどう作るか?
- 「おわり」を受け取る
- 初めから = 0
- CPUの手履歴に追加
- 「もう一回挑戦しよう!!」と言う
- 表示を消す(けして)
再挑戦の設計はゲームの「再スタート」を作ります。
設計図(ゲーム全体の流れ)

Scratchじゃんけんゲームの設計図は次の通りです。
- 初期化
- ゲーム開始
- プレイヤーの手(INPUT)
- CPUの手(PROCESS)
- 勝敗判定(PROCESS)
- あいこなら LOOP
- 勝敗がついたら OUTPUT
- 終了処理(おわり)
- 再挑戦可能な状態に戻る
この流れを設計図としてまとめることで、 ゲーム全体の構造が明確になります。
第9回のまとめ
- 第9回は「じゃんけんゲーム全体の設計編」
- INPUT・PROCESS・LOOP・OUTPUT・初期化・履歴・再挑戦を設計視点で整理
- ゲーム全体の設計図が完成
- 次回は「仕様書編(要件定義)」へ進む
次回予告(第10回:じゃんけんゲーム全体の仕様書編へ)
次回は、 第10回:じゃんけんゲーム全体の仕様書編(要件定義) です。
設計図をもとに、 じゃんけんゲームのルール・処理・変数・イベントなどを 正式な「仕様書」としてまとめます。
シリーズ一覧(INDEX)
Scratchじゃんけんゲーム講座の全記事は、こちらのINDEXからまとめて読めます。
▶ INDEX(全記事一覧)はこちら
▼ micro:bit講座 INDEX Scratchで身につけた論理的思考を、現実のモノづくり(防犯ブザー・見守り装置)へ発展させるステップです。



コメント