
前回は1問目を出題するプログラムを作りました。
今回は4択の選択肢の変数やスプライトを用意して、問題が読まれたあとに表示するプログラムを作っていきます。
前回の記事はこちら:②問題を出そう
4択クイズを作ろう トップ記事はこちら:Scratchで4択クイズを作ろうトップ記事

解説の画像が見づらい時は、画像をクリックして拡大して見てね!
選択肢を表示する
まずは4択の選択肢を表示するプログラムを作っていきます。
選択肢は以下の画像のように、4つの箱を用意して、その中に変数を表示させるようにします。

そして、箱をクリックすると、答えが選択できるようにしていきます。
それでは早速作っていきましょう!
選択肢用のスプライトを用意する
まずは、選択肢の箱のスプライトを作っていきます。
今回は「描く」でスプライトを作っていきますが、下の画像のようなボタンのスプライトがあるので、わざわざ作るのは手間だなと思ったら、これを使っても問題ありません。

上のボタンを使う人は、ここは飛ばしてください。
次のステップまで読み飛ばす
それでは選択肢のスプライトを作っていきましょう。
「スプライトを選ぶ」の中の「描く」をクリックしましょう。

四角形をクリックして、四角形を描きましょう。
四角形の色や枠線は自由に設定しましょう。

このスプライトを複製して、画面の下の方に4つ入るように調整しましょう。
スプライトを右クリックして、「複製」をクリックするとコピーすることができます。

下の画像のような感じで、スプライトを4つ並べましょう。
この箱の中にクイズの選択肢を表示するので、文字が全部入る大きさにしましょう。

もし、クイズの答えが長くて箱の中に入らなそうな場合は、箱の横幅を広くしてたてに4つ並べるようにしても大丈夫です。

スプライト名をわかりやすい名前に変更しましょう。以下のような名前に変更します。
- 選択肢A
- 選択肢B
- 選択肢C
- 選択肢D

これで、スプライトの用意は完了です。
選択肢を設定する変数を作成する
用意したスプライトに選択肢を表示するための変数を作成していきます。
変数の中の『変数を作る』をクリックしましょう。

変数名に「A」と入力しましょう。
「すべてのスプライト用」を選択しましょう。
「OK」をクリックしましょう。

これで、「A」という変数ができました。
この変数は、選択肢Aを表示するために使用します。

同じ手順で、ほかの選択肢を表示するための変数も作成しましょう。変数名は次の名前で作成してください。
- B
- C
- D

これで、選択肢を表示するための変数を作ることができました。
次に、作成した変数を選択肢用のスプライトの中に移動させます。
ゲーム画面の変数をドラッグして、選択肢用のスプライトの中に移動しましょう。

移動したら変数の左のチェックを外して非表示にしましょう。

これで、選択肢を表示するための準備が完了しました。
問題と一緒に選択肢を表示する
ここからは問題が出されたときに一緒に選択肢を表示するためのプログラムを作っていきます。
問題を読み終わったらメッセージを送って、そのメッセージを受け取ったら選択肢を表示するようにしていきます。
メッセージを送る
まずは、メッセージをプログラムを作っていきます。
①問題を読んでくれるスプライトをクリックしましょう。
②一番下に、『メッセージ▼を送る』ブロックをくっつけましょう。
③「メッセージ」のところで「新しいメッセージ」をクリックして、「出題」というメッセージを作りましょう。

これで、問題を読み終わったら「出題」というメッセージが送られるようになりました。
メッセージを受け取って「選択肢A」を表示する
次に、メッセージを受け取るプログラムを作っていきます。
①「選択肢A」のスプライトクリックしましょう。
②イベントの中の『メッセージ▼を受け取ったとき』ブロックをドラッグしましょう。「メッセージ▼」の部分を「出題」に変更しましょう。

問題を読み上げてから、少し間を空けてけから表示させたいので、制御の中の「1秒間待つ」ブロックをくっつけます。(間を空けなくてもいいと思ったら、これは無くても良いです。)
「1秒」を「2秒」に変更します。

選択肢を画面に表示するために、変数「A」に「選択肢A」リストから今の問題の選択肢を設定します。
変数の中にある『変数▼を0にする』ブロックを下にくっつけましょう。
「変数▼」の部分を「A」に変更しましょう。

変数の中にある『リスト▼の1番目』ブロックをドラッグしましょう。
「リスト▼」の部分は「選択肢A」にしましょう。
「1」の部分に、変数の中の『問題数』をはめ込みましょう。

このブロックを、『A▼を0にする』ブロックの「0」の部分にはめ込みましょう。
変数の中の『変数A▼を表示する』ブロックを下にくっつけましょう。

これで、Aの選択肢が表示されるようになります。
緑の旗をクリックして実行してみて、ちゃんと表示されるか確認してみましょう。

ちゃんと表示されましたか?
もしうまく表示されない場合は、プログラムを見直してみてください。
これで、選択肢Aの表示が完了しました。
ほかの選択肢も表示させる
同じ手順でほかの選択肢も表示させていくのですが、少し楽をしましょう。
ひとつずつブロックを組み立てるのは面倒なので、選択肢Aで作ったプラグラムをコピーしたいと思います。
一番上のブロックを「選択肢B」のスプライトにドラッグしましょう。
これでブロックをコピーすることができます。
「選択肢B」のスプライトをクリックして、「A」となっている部分をすべて「B」になるように変更しましょう。

もし、選択肢Aが表示されてから少し間を空けて選択肢Bを表示したい場合は、『2秒待つ』ブロックの秒数を「2」より大きい数字に変更してください。
選択肢Aが表示されてから2秒後に選択肢Bを表示したい場合は「4」を設定します。

これで、選択肢Bの表示が完了しました。
同じ手順で選択肢Cと選択肢Dの表示プログラムも作成してみてください。
ブロックをコピーしたあとに、変数やリストを変更するのを忘れないように注意しましょう。
できたら実行してみて、正しく選択肢が表示されるか確認しましょう。
もし、うまく表示できない場合は、下の選択肢Cと選択肢Dのプログラムを見て違うところがないか確認しましょう。
選択肢Cと選択肢Dのプログラムは次のようになります。
<選択肢C>

<選択肢D>

これで、選択肢の表示が完了です。
選択肢を隠す処理を追加する
選択肢は表示できるようになりましたが、一度実行すると表示されたままになっています。
そのため、ゲーム開始時に選択肢の変数を隠す処理を追加しましょう。
①スプライトの「選択肢A」をクリックしましょう。
②イベントの中の『緑の旗が押されたとき』ブロックをドラッグしましょう。
③変数の中の『変数A▼を隠す』ブロックを『緑の旗がおされたとき』ブロックにくっつけましょう。

ほかの選択肢のスプライトにも同じようにプログラミングしましょう。
できたら、ゲームを開始したときに選択肢が隠れるか確認しましょう。
もし、隠れない選択肢がある場合は、『変数A▼を隠す』ブロックの「A▼」の部分がスプライトと同じアルファベットが設定されているか確認してみてください。
これで、選択肢を隠す処理が完了です。
まとめ
お疲れ様です!
これで問題が読まれたあとに選択肢が表示されるようになりました。
選択肢を表示させる位置は自由に変更しても大丈夫ですので、こうしたほうがいいなと思ったら、どんどんアレンジしてみてください。
次回は、選択肢を選んで問題に回答するプログラムを作ります。
次の記事はこちら↓

4択クイズを作ろう トップ記事はこちら↓

おすすめ
Scratchでのプログラミング学習におすすめの書籍です。
コメント