2016.12.19Scratch で始める小学生からのプログラミング
小学生がスクラッチプログラミングでクイズアプリをつくるための7つのステップ
みなさま、今回はスクラッチでクイズアプリを作ってみたいと思います。クイズなので、何か問題を読み上げて、それに対して回答するというアプリです。自由形式で文字を入力してもいいのですが、今回は簡単な三択クイズを用意しました。クイズアプリは3つの中から、一つを選ぶクイズです。正解を選ぶと「せいかい」としゃべり、間違いを選ぶと「残念」とでて、ゲームオーバーになります。スクラッチにあるメッセージ機能を使った例題として、書いてみました。以前もご紹介している機能ではあるのですが、違う例を見ると違う意味で参考になるかと思います。
ステップ1:キャラクタを出す
問題を出すネコ以外に、クイズの選択肢となるキャラクタを選びます。今回は、2問分のキャラクタを用意しました。それぞれ問題の出番が来たときに表示をするようにします。まずは、それぞれのキャラクタを図のようにならべましょう。
ステップ2:ネコのプログラム
次にネコのプログラムをかきます。最初にネコが問題を読みます。スタートの「緑のはた」をクリックしたときにネコがセリフをしゃべるようにつくりましょう。
最初のセリフは「今からクイズをします。」です。「◯と2秒言う」のブロックを使い、図のように置きましょう。そして、第1問を読み上げるのですが、ここでメッセージを使います。メッセージは以前の記事でも少し紹介してますが、プログラム同士で情報をやり取りするときに使います。例えば、ネコがクリックされたことをほかのキャラクタのプログラムにおしえてあげたいとします。そういうときに使うのがメッセージです。通常は、プログラムのどの部分の命令を実行しているかを知ることができないのですが、メッセージを使うことで情報を受け取ることができます。ここでは、第1問になっていることを通知して、それに合わせた動きを作るようにします。ネコは第1問になると問題を読み上げるので、図のように「この中でなかまはずれはどれでしょうか?」としゃべります。
ステップ3:正解のプログラムを作る
次は正解のほうのプログラムを作ります。第1問のときだけ絵を出すようにしたいので、スタート時は隠し、「だい1もん」のメッセージを受け取ったときに、表示をします。ここで注意点としては、メッセージは複数のプログラムに対して同時に通知することができる点です。専門的には「ブロードキャスト」といいますが、全体に通知して関連するところがそれに反応するという作りになります。この例では、「だい1もん」というメッセージを受け取り、その結果、問題用のスプライトが表示されるという動作をします。正解の方のプログラムでは、クリックされたときに「せいかい」と表示して、表示を隠した後に、第2問のメッセージを送付します。
ステップ4:間違いの方を作る
間違いの方のプログラムを次に作ります。正解のときと同じように、最初は隠し、「だい1もん」のメッセージが届いたときに表示をします。動作が違うのは、クリックされたときには、「間違い」の文字を表示し、ゲームオーバーのメッセージを送ります。次の問題に進んだ場合は、「だい2もん」のメッセージを受けることになりますので、表示を消す処理をします。
ステップ5:ねこのプログラムの第2問をつくる
第2問の問題を今度は作ります。先ほどと同じように、ねこのセリフとして、第2問を用意します。第2問以降は、基本的な作りは同じですが、最後の処理として、全問正解した時の処理を「ごうかく」というメッセージを受けたときに動かすようにしています。
ステップ6:ゲームオーバーをつくる
ゲームオーバーの画面を作ります。新しいスプライトを用意してゲームオーバーのときの表示を作ります。ここでは、手で文字を書いていますが、好きな内容で作っていただいて結構です。そして、プログラムは、図に示すように、「ゲームオーバー」のメッセージを受け取ったときに表示をしています。音は鳴らしても鳴らさなくてもいいですが、演出としていれました。
ステップ7:第2問のスプライトを用意
第2問のスプライトを用意します。プログラムは、ほとんどおなじになりますので、正解の処理と間違いの処理は自分で考えてみてください。第2問のときに該当するスプライトを表示するようにし、正解か間違いかで処理を変えることになります。
まとめ
いかがでしたでしょうか。メッセージの使い方とアプリの具体的な内容は理解できましたでしょうか。これはあくまで例なので、自分で独自のクイズアプリを作ってみると良いでしょう。
東京都文京区小石川で小学生、中学生、高校生を対象としたプログラミング&ロボット教室を開校しています。コース概要のページで説明しております。創造性や協調性などこれからの時代に必要となる素養を育てるコースです。ご興味ありましたらぜひお問い合わせください。また、ワークショップも定期的に開催しています。こちらのワークショップのページにて内容をご確認ください。
お問い合わせはこちら!
]]>