どうもー!マミィです!
フリーランスプログラマーをしながら、「スクラッチプログラミング」・「マインクラフト」の真似したいと思う、役に立つ情報を中心に発信しています!

簡単なクイズゲームを作りたい!
作り方を教えてほしい!

クイズゲームの作り方を教えます!
夏休みの自由研究などで使えるように、内容が少し真面目な内容のクイズゲームを作りました!
県庁所在地を4年の社会で学習しますが、県名と県庁所在地名が違うものだけピンポイントで覚えられるように、違うものだけをまとめたクイズゲームです。
飽きないように、以下の工夫をしています。
- 1問1答
- 合成音声を使って喋らせる
- ランダムに問題を出す
- キャラクターに動きをつける
クイズゲームを作る時のポイントを作り方とまとめた記事になります。
- 県庁所在地当てクイズの問題を入れるリストの作り方
- 県庁所在地当てクイズの問題をランダムに出す作り方
- 県庁所在地当てクイズの答えを判定する部分の作り方
- 県庁所在地当てクイズの正答率を記録する方法
- 県庁所在地当てクイズのキャラクターのゆらゆら動かす方法
この記事を読むと、スクラッチでクイズゲームの作り方の基本がわかります!
スクラッチサイト→【クイズ】県庁所在地当てゲーム
YouTubeでも動きが見れます↓
県庁所在地当てクイズの問題を入れるリストの作り方
- 変数→リストを新規作成する
- リストに問題データを入れていく
- スタートボタンでクイズを開始させる
変数→リストを新規作成する
都道府県当ての「問題」を入れるリストを作成します。

変数→リストを作る

リスト名を「問題」、すべてのスプライト用で作ります。

「問題」のリストが作成されます。
リストに問題データを入れていく

今回は定義ブロック内でいれるようにしました。
ブロック定義→ブロックを作る→「問題初期化」で作成(引数なし)

はじめに、リストの中身を削除するため、はじめに中身を全て削除します。
- 「【問題】の全てを削除する」
- 【県名】を問題に追加する
そのあとに、問題となる県名を入れていきます。
県名≠県庁所在地名のものだけいれました。
※東京都は入れていません。

定義が実行されると、問題リストに都道府県名が入ります。
スタートボタンでクイズを開始させる

ボタンのスプライトに、文字をのせてスタートボタンを作ります。

ボタンが押されたら、「問題スタート」のイベントを送り、クイズを開始させます。
県庁所在地当てクイズの問題をランダムに出す作り方
- 問題リストからランダムに問題を取得する(乱数)
- 文字と文字をつなげて問題を出す
問題リストからランダムに問題を取得する方法(乱数)
問題スタートを受け取ったら、問題リストにいれたものの中でランダムに出す方法です。

問題リストの横に番号がありますが、この番号を使います。
問題から抜き出す番号を【変数】とします。

変数を「1〜(【問題】の長さ)までの乱数」にするというのは、
変数=問題リストの長さ分の範囲(1〜リストの長さ)の中の乱数(ランダムな数)
例)1〜19までの範囲のどれかの数がはいる
ということです。

例えば、変数に3が入った場合は、
問題の【変数】番目=問題の3番目なので、

3番めの「宮城県」が入ってきます。
文字と文字をつなげて問題を出す
問題リストには都道府県名しか入っていないので、文章にするために「文字」と「文字」をつなげます。

演算→(【りんご】と【バナナ】)を使います。

これで、【都道府県名】と【の県庁所在地はどこでしょう?】がつながります。

答えを入力できる欄が出てきます。
県庁所在地当てクイズの答えを判定する部分の作り方
答えの判定部分

答えを入力します。

聞いたあとに、「もし〜なら」の分岐を使って、各都道府県が来た時の処理をわけます。

「ひらがな」でも「漢字」でも「市」がついてもつかなくてもOKになるように、何パターンかを正解にしておきました。
- 【答え】=なは
- 【答え】=なはし
- 【答え】=那覇
- 【答え】=那覇市
「または」でつなぐことで、複数の条件を一度に判定できます。
正解の場合

正解の場合は、「【正解】を送って待つ」 のイベントを送りました。

正解だった場合
- 正解と言わせる(【正解!】と言う)
- 正解としゃべらせる(合成音声を利用:正解としゃべる)
- 正解の音楽(Cheerの音を鳴らす)
- 正解数をカウントする(正解数を1ずつ変える)
- 正解と言わせた表示を消す(【】という)
間違いの場合

間違いの場合は、間違いの定義ブロックに本来の「答え」を引数としていれます。

間違いの定義ブロックは1つ引数を追加しています。

入ってきた【答え】を使って、本来の答えを出しています。

県庁所在地当てクイズの正答率を記録する方法
- 正解数、間違い数を入れる変数を初期化する
- 正解のときに正解数を1たす
- 間違いのときに間違い数を1たす
正解数、間違い数を入れる変数を初期化する

旗を押したとき、正解数と間違い数を入れている変数を0にしてリセットします。
正解のときに正解数を1たす

正解を受け取ったときに、【正解数】を【1】ずつ変える ことで正解数を数えています。

間違いのときに間違い数を1たす

間違いの定義内で、【間違い数】を1ずつ変えることで、間違いの数を数えています。

県庁所在地当てクイズのキャラクターのゆらゆら動くの説明

このキャラクターをずっと上下に動かして、浮いている感じを出しています。

- 20回繰り返す
- y座標を【1】ずつ変える
- 0.1秒待つ
- 20回繰り返す
- y座標を【-1】ずつ変える
- 0.1秒待つ
これをずっと繰り返します。
y座標を1ずつ変えて、下にいき
20回繰り返したら、
−1ずつ変えて上に行きます。
【県庁所在地当てクイズ】まとめ
夏休みの自由研究でも使えそうな、クイズを作ってみました。
ざっくりの流れはこんなかんじ。
- 問題をリストに入れる
- 問題リストからランダムに問題を出す
- 答えを受け取って、正解かどうかの判定をする
- 答えを言わせる

ぜひ作ってみてください!
スクラッチサイト→【クイズ】県庁所在地当てゲーム