スクラッチ-問題を3つ出す

スクラッチでクイズゲームを作ってみたいと思います。

クイズには問題と答えがセットになっていますよね。

この仕組みを実現するにはリスト機能を使ってみましょう。

リストはデータを保存する棚のようなものです。

たくさん入っているデータの中から自由に取り出すことができます。

この記事では問題を出題して答え合わせをするところまでやってみます。

それではチャレンジしてみましょう!

リストを理解しよう

スクラッチにはリストと呼ばれる機能があります。

データを保存できるような箱のようなものが変数でした。

リストは変数をまとめることができる棚のようなものです。

Pythonなどのプログラミングでは配列という機能がありますがそれと同じです。

データをたくさん順番にいれることができ、入っているデータを「5番目に入っているデータが欲しい」というような感じで取り出すことができます。

リストの取り出し方はすでに書いたように何番目かを指定して取り出すことになります。

リストを作ってみる

はじめにリストを作ってみましょう。

リストを作るには『変数』エリアにある『リストを作る』ボタンをクリックします。

クリックするとリスト名とリストの適用範囲を求められます。

リスト名を『問題』、適用範囲を『すべてのスプライト用』にしましょう。

作成すると変数エリアにブロックが追加されているはずです。

スクラッチ-リストブロックが追加されている

リストに値をいれる

リストが作成できたらリストに値を入れてみましょう。

ステージの左上にリストの中身が表示されており今は『(空)』と表示されているはずです。

スクラッチ-リストが空

値を追加するには『〇〇を問題に追加する』ブロックを使います。

スクラッチ-『〇〇を問題に追加する』

〇〇には以下の問題を追加しましょう。

「冷蔵庫に住んでいる動物はなんでしょうか?」

上記の言葉を入力したらブロックをクリックしてみましょう。

クリックするとリストに入力した内容が追加されていることがわかります。

スクラッチ-問題が追加されている

リストを使って問題を言わせてみる

リストに値を追加できたら今度はリストに入っている値を利用してみましょう。

入っている値を利用するには『問題の1番目』ブロックを使いましょう。

ブロックをプログラミングエリアに持ってきてクリックしてみましょう。

スクラッチ-問題の1番目

先ほど入力した問題の内容が表示されてましたね。

これを利用してスプライトに問題を言わせてみましょう。

スクラッチ-問題をスプライトに言わせるブロック

先頭にはリストを空っぽにするブロックを追加しています。

これは処理を何度も動かすとずっと溜まっていってしまうので最初に空っぽにしています。

プログラムが作れたら動かしてみましょう。

スクラッチ-問題をスプライトに言わせる

上記のようにスプライトが問題をいってくれていればOKです。

答え合わせをしてみよう

続いて答えを入力したものがあっているかを答え合わせをしましょう。

まず問題と同じように『答え』リストを作ります。

そして答えリストの中には『ぞう』と入れておきましょう。

スクラッチ-答えを追加する

続いて答え合わせの処理を追加しましょう。

入力した答えがあっていれば「正解!」、間違っていれば「残念!」とスプライトに言わせます。

このようにある条件があっていればのような処理を行いたいときには『分岐処理』を使いましょう。

答えがあっているかを確認するには『答え』ブロックと『答えの1番目』ブロックが同じかをチェックしましょう。

以下のような分岐ブロックができていればOKです!

スクラッチ-答え合わせ

答え合わせのプログラムができたら問題をいうプログラムとつなげて動作を確認してみましょう。

スクラッチ-答え合わせの動き確認

上記のような動きができていればOKです。

問題を増やしてみる

ここまでやってみてリストって何で使っているのだろうと思った方いませんか?

その通りですね、リストは1つだけ入れている状態だと本領発揮とは言えません。

リストもう2つ問題と答えを追加してみましょう。

同じやり方で好きな問題を追加してみてください。

また答え合わせも同じように2つ分を追加してみましょう。

答え合わせの処理を追加するときには1番目の値を2と3に修正しておきましょう。

スクラッチ-問題を3つにした

すごく長くなりましたね、上記のようにできたら動かしてみましょう。

スクラッチ-問題を3つ出す

3つの問題が出されて答え合わせもうまくいってますね!

もっと簡潔なプログラムにしてみよう

できたプログラムをみてなんか同じようなことをしているところがあるなぁと思いませんでしたか?

問題を出すところと答え合わせする処理は出題するリストの番号が違うだけで他の処理が同じですね。

ここをもっとすっきりさせてみましょう。

使うのは以下の2つです。

  • 繰り返し処理
  • 変数

繰り返しと変数を使えばかなりプログラムがすっきりさせることができます。

この記事ではここまでとしますのでぜひチャレンジしてみてください。

本日はここまで、お疲れ様でした!

次はしたの記事にチャレンジしてみましょう!

おすすめの記事