前回のスクラッチ(Scrach)講座からは、実際に「スプライト」を動かすプログラムを作っています。
今回の講座では「条件によってプログラムの動きを変える」という、より本格的なプログラムを作成します。
内容は前回よりもより複雑ですが、やってみると簡単なので、チャレンジしてみて下さいね。
まずこのプログラムでよく使われる「条件分岐」とは何なのかをご説明します。
条件分岐による処理というのは、例えば「天気が良かったら外出する」「天気が悪かったら外出しない」のように、あらかじめ決められた事柄によって処理を分岐させることをいいます。
条件分岐を行うプログラムを早速作ってみましょう。
条件分岐をさせるにはスクリプトの中の「制御」のブロックを使用します。
画面真ん中辺りに表示される「もし〜なら」というブロックを画面右にセットしてください。
このブロックを利用して条件分岐をさせていきます。 @スクリプトの「制御」のブロックから「もし〜なら」のブロックを選び画面右に配置
A次に、スクリプトの「演算」のブロックから「□=□」のブロックを選択します
Bこの「演算」のブロックを、「もし〜なら」のブロックの「もし」と「なら」の間に持っていくと、上手く合体させることが出来ます。
C更に、スクリプトの「調べる」のブロックから「現在の分」と書かれたブロックを選択します。
Dこのブロックも、先ほどのブロックと同じように画面右側に持っていき、「□=□」のブロックの間に合体させて下さい。
Eこれで、「もし現在の分が□なら」というブロックを作る事が出来ました。
FEの状態では、□がまだ空なので、クリックして適当な時間を設定します。画面では30を設定しました。
G次に、この条件だった場合にどう行動させるかを設定します。スクリプトの「見た目」のブロックの中から、「Hello!と2秒言う」というブロックを選んでください。
H最後に、スクリプトの「イベント」のブロックの中から、「旗がクリックされたとき」のブロックを選択して、右側のブロックの一番上に配置します。
Iこれで、「旗がクリックされたとき、もし現在時刻の分が30ならHello!と2秒言う」というプログラムの完成です。
Jさきほど設定した分と現在時刻の分が一致する時間に、左の画面の旗のマークを押してみて下さい。
K猫のスプライトが「Hello!」と2秒つぶやきます。
Lそれ以外の時刻に旗マークを押しても、猫のスプライトは反応しません。
このように、「制御」のブロックを利用する事で、条件によって処理が分岐するプログラムを作ることが出来ます。
この条件分岐はプログラミングの基礎の基礎なので、スクラッチによって感覚を掴むことが出来れば、実際のプログラミングにも生かすことが出来ますよ。
「制御」のブロックの中には、もう1つ条件のブロックがあるのでご紹介しましょう。
さきほどの「もし〜なら」のブロックの下を見て下さい。 「もし〜なら〜でなければ〜」というブロックがあります。
先ほどは、「旗がクリックされたとき、もし現在時刻の分が30ならHello!と2秒言う」というプログラムを作成しました。
このプログラムでは、現在時刻が30でない場合は何の処理も行いません。
しかし、「もし〜なら〜でなければ〜」というブロックを使用すれば、「旗がクリックされたとき、もし現在時刻の分が30ならHello!と2秒言う、そうれでなければ〜する」というプログラムを作ることができます。
実際に作った例をお見せします。
「旗がクリックされたとき、もし現在時刻の分が30ならHello!と2秒言う、そうれでなければHmmmmと考える」 というプログラムを作成しました。
これなら、旗がクリックされた時間によって、2種類の処理に分岐させる事ができます。
条件分岐は、最初に作成したように「条件に合ったら実行する、合わなかったら実行しない」場合と、今ご紹介したように「条件に合ったらAを実行する、合わなかったらBを実行する」というような複数条件に分岐するタイプの2種類があります。
また、複数条件に分岐する場合は、2つだけではなく、いくつまででも分岐させる事が可能です。
この3つ以上の分岐の例をお見せします。
「旗がクリックされたとき、もし現在時刻の分が30ならHello!と2秒言う、そうでない場合で現在時刻が20ならHmmmmと考える、そうれでなければ15度回す」というプログラムを作成しました。
このように、条件分岐を利用すれば、かなり細かい条件を指定する事が可能です。 実際のプログラミングでも、条件分岐は1個〜10個くらいまで、様々な利用がされます。
今回は条件分岐をさせるプログラムについて学習しました。
条件分岐はスクリプトの「制御」の中にある「もし〜なら」のブロックと「もし〜なら〜でなければ〜」のブロックを利用して作成する事ができます。
今回の講座は、より実際のプログラミングに近い内容でしたが、思ったより簡単だったのではないでしょうか。
次回の講座では、「処理を繰り返す」というプログラムを作成します。
この「繰り返し処理」もプログラミングで重要な動きです。 どうぞお楽しみに!