今回のスクラッチ(Scrach)講座では、値を比較するプログラムの作成を行います。
第8回の変数も利用するので、変数についてまだよく分からない方は、第8回の復習から行って下さいね。
値の比較を行うことができれば、第7回までに作れるプログラムより、更に高度なプログラムが作成できるようになります。
それでは説明から始めますね。
値の比較は、算数や数学で習うように、ある数とある数を比べて「どちらが大きいか」「どちらが小さいか」「一緒か」を判定することです。
今回は、変数を利用してあらかじめ決めておいた値と比較を行う事で、処理を分岐させていきたいと思います。
それでは、スプライトとの会話で変数と値の比較を行う処理をさせてみましょう
@まずは変数を作成します。
Aスクリプトの「データ」を選択し、「変数を作る」を押します。
B変数名に「比較する数」と入力して「OK」を押して下さい。
C次に、データから「比較する数を〜にする」というブロックを選択し、右側の画面に配置します。
D「比較する数を〜にする」のテキスト部分に「10」と入力して下さい。
E「調べる」のスクリプトから「〜と聞いて待つ」を選んで画面の右側に配置して下さい。
F「〜と聞いて待つ」のブロックのテキスト部分に「君の趣味の数は?」と入力します。
G「制御」のスクリプトから「もし〜なら」を選んで画面の右側に配置して下さい。
H「見た目」のスクリプトから「〜と言う」というブロックを選んで、「もし〜なら」のブロックの中に配置します。
I「演算」のスクリプトから「○>○」のブロックを選んで、「もし〜なら」のブロックと合体させます。
J「調べる」のスクリプトから「答え」のブロックを選んで、「○>○」のブロックの左側に配置しましょう。
K「データ」のスクリプトにある変数の「比較する数」を選択して「○>○」の右側に設定します。
Lそして「〜と言う」のブロックの中身に「凄い!」と入力して下さい。
L最後にスクリプトの「イベント」のブロックの中から、「旗がクリックされたとき」のブロックを選択して、右側のブロックの一番上に配置します。 旗を押してみて下さい。
スプライトが「君の趣味の数は?」と問いかけてきます。
「10」以上の数を指定すると「凄い!」と返答します。
このように、変数と入力された値を比較して結果を分岐させる事が可能です。
先ほど作ったプログラムでは変数を利用しましたが、変数を使用しなくても比較の処理を行う事ができます。
今回利用するのは「乱数」という数です。
「乱数」とは「乱」という漢字にも表現されるように、コンピュータが適当に決めた数字の事です。
この「乱数」を使って、くじ引きのプログラムを作ってみたいと思います。
@「調べる」のスクリプトから、「〜と聞いて待つ」のブロックを選んで画面の右に配置します。
A「〜と聞いて待つ」のブロックのテキストに「1〜5のくじを選んでね」という文字を設定します。
B「制御」のスクリプトから「もし〜なら」のブロックを選択して画面の右に配置します。
C「演算」のスクリプトから「○=○」のブロックを選択して、「もし〜なら」のブロックと合体させます。
D「調べる」のスクリプトから「答え」のブロックを選択して、「○=○」のブロックの左側に設定します。
E「演算」のスクリプトから「1から10までの乱数」というブロックを選択して、「○=○」のブロックの右側に設定します。
F「1から10までの乱数」のブロックの、10の部分を5に直します。
G「見た目」のスクリプトから「〜と言う」のブロックを選び、「もし〜なら」のブロックの間に配置します。
H「〜と言う」のブロックのテキスト部分に「当たり!」と入力します。
I最後にスクリプトの「イベント」のブロックの中から、「旗がクリックされたとき」のブロックを選択して、右側のブロックの一番上に配置します。
さあ、実際に作ったプログラムを動かしてみましょう。 左の画面の旗のマークをクリックします。
すると、猫のスプライトが「1〜5のくじを選んでね」と言うので、「2」と入力してみて下さい。
もし乱数と入力した数字が一致した場合は「当たり!」と猫が言います。外れた場合は何も言いません。
何回か入力すれば当たると思うので、試しに当たるまで1〜5の数字を入力してみて下さいね。
このように、乱数を利用すれば変数が無くても比較の処理を利用する事ができます。
また、今回はなんとプログラムでくじ引きのシステムが作れてしまいました。
スマートフォンのゲームでアイテムが当たるか当たらないかといった処理を行っているのは、このような乱数による比較のプログラムなんですよ。
スクラッチを使えば、こんな本格的な処理まで作れてしまうんです!凄いですね。
今回は、比較のプログラムを作成しました。 くじ引きというゲームのようなプログラムを作成する事ができたので、なかなか楽しめたのではないでしょうか。
次回は10回目ということで、少し難しいプログラムに挑戦してみたいと思います!
今回までの全ての講座の技術を結集させた、より高度なくじ引きのプログラムを作成します。
「こんなプログラムも作れるんだ!」と面白くなると思いますよ。 次回もどうぞお楽しみに!