これを学ぶよ
わざ「問題リスト」と「答えリスト」を緑の旗で初期化し、ランダムに出題するクイズゲームを作ろう。リスト・乱数・聞いて待つ・正誤判定を組み合わせた本格的なプログラムを体験する。プログラムでリストにデータを追加して初期化することで、何度でも遊べる構造を学ぶ。
つかうブロック
動画を見て、自分でも作ってみよう
やってみよう!1問題リストと答えリストを作って、緑の旗で初期化しよう
クイズゲームのデータを準備します。「変数」の引き出しから「リストを作る」をクリックして『問題リスト』と『答えリスト』の 2 つのリストを作りましょう。 次に、緑の旗が押されたときにプログラムで 2 つのリストを初期化します。まず『リストのすべてを削除する』で両方のリストを空にしてから、『○を○に追加する』で問題と答えのペアを順番に追加します。問題と答えが同じ番号 (1番目同士、2番目同士、...) で対応するように交互に追加するのがポイントです。 例: ・問題リストの 1 番目: 「日本の首都は?」 ↔ 答えリストの 1 番目: 「東京」 ・問題リストの 2 番目: 「スクラッチを作ったのは?」 ↔ 答えリストの 2 番目: 「MIT」 ・問題リストの 3 番目: 「1 + 1 = ?」 ↔ 答えリストの 3 番目: 「2」 これで何度緑の旗を押し直してもクイズが必ず動くようになります。きみが自分の好きな問題を増やしても OK!
↑上のならべ方も見てね
使うブロック
ヒント
2ループでランダム出題する仕組みを作ろう
Step 1 の続きにクイズ本体のロジックをつなげます。まず『正解数』変数を 0 で初期化し、『問題リストの長さ』回くり返します。各回でランダムな番号 (1 〜 問題リストの長さ) を決めて、その番号の問題を聞きます。これで毎回違う問題が出る仕組みです。
重要: ここで作るループの中身はまだ完成形ではありません (まだ閉じない、end は書かない)。次の Step で答え判定を中に追加するため、ループを「開いたまま」にしておきます。
使うブロック
ヒント
3答えが合っているか判定しよう
ユーザーが入力した答えと、答えリストの同じ番号の中身を比べます。一致したら「正解!」と言って正解数を 1 増やし、違ったら「ざんねん...」と言います。「○=○」ブロックで文字列を比較できます。 ループの中に『もし○なら…でなければ』を追加します。条件は『(答え)=(答えリストの○番目)』。一致時は『正解数 を 1 ずつ変える』+『「正解!」 と 1 秒言う』、不一致時は『「ざんねん...」 と 1 秒言う』。
使うブロック
ヒント
4結果を発表しよう
ループを閉じて、最後に『けっか: 〇問正解!』のようなメッセージを話します。『○と○』(つなげる)ブロックを 2 つ重ねて、文字・数字・文字をつなげます。これでクイズゲームの完成です!
例: (join 「けっか: 」 (join 正解数 「問正解!」)) → 「けっか: 2問正解!」
使うブロック
ヒント
AI チャットを使うには、ログインが必要だよ。
ログイン・登録するはじめての方はこちら