今回のスクラッチ(Scrach)講座では、前回と前々回に学んだ内容の応用編となります。
第4回の「条件分岐の処理」と第5回の「繰り返し処理」について復習してからチャレンジしてみて下さいね。
今回の講座では「条件分岐の処理」と「繰り返し処理」を組み合わせたプログラムを作成します。
少し処理は多くなりますが、第4回と第5回の内容が分れば、十分ついていける内容ですので、安心して下さい。
今回作るプログラムは、「繰り返し処理」の中に「条件分岐処理」を入れ込みます。
例えば、「ボールを投げ続ける」という繰り返し処理があります。
その処理の中に、「時計が13時〜14時なら」という条件分岐の処理を加えると、13時〜14時までの間だけ、ボールを投げ続けるプログラムを作成する事ができます。
それでは実際に作ってみましょう。
「条件分岐処理」「繰り返し処理」を組み合わせたプログラムを作っていきます。
@まずは、「制御」のスクリプトから「ずっと〜」のブロックを選択して、右画面に配置して下さい。
A次に、「制御」のスクリプトから「もし〜なら」のブロックを選択して、「ずっと〜」の真ん中に配置して下さい。
B「条件分岐処理」の時に行ったように、「演算」のスクリプトから「○=○」のブロックを選択して配置します。
C「調べる」のスクリプトから「現在の分」を選んで「○=○」の左の○の部分に配置しましょう。
D「○=○」の右側には「30」と数字を入れて下さい。
E「動き」のスクリプトから「15度回す」を選んで、「もし〜なら」の間に配置します。
F最後にスクリプトの「イベント」のブロックの中から、「旗がクリックされたとき」のブロックを選択して、右側のブロックの一番上に配置します。
Gこれで、猫のスプライトが、現在の分が30の間だけ、15度ずつ、くるくると回り続けるプログラムが完成しました。
H左の画面の緑色の旗のマークをクリックしてみて下さい。現在時刻が○時30分の間だけ、スプライトが15度ずつ回っていきます。
試すときは、時間を現在時刻に近い時刻に設定して試してみて下さいね。
さきほど作ったプログラムは、「条件分岐処理」を「繰り返し処理」のプログラムの中に入れました。
今度は逆に、「繰り返し処理」の中に「条件分岐処理」を入れてみます。
どんな動きになるか、想像しながらブロックを組み立てていって下さいね。
@まずは、「制御」のスクリプトから「もし〜なら」のブロックを選択して、右画面に配置して下さい。
A次に、「制御」のスクリプトから「ずっと〜」のブロックを選択して、「もし〜なら」の真ん中に配置して下さい。
Bさきほどと同様に「演算」のスクリプトから「○=○」のブロックを選択して配置します。
C「調べる」のスクリプトから「現在の分」を選んで「○=○」の左の○の部分に配置しましょう。
D「○=○」の右側には「30」と数字を入れて下さい。
E「動き」のスクリプトから「15度回す」を選んで、「ずっと〜」の間に配置します。
F最後にスクリプトの「イベント」のブロックの中から、「旗がクリックされたとき」のブロックを選択して、右側のブロックの一番上に配置します。 プログラムを動かしてみて下さい。
1個目のプログラムとの違いが分りますか?
・1つ目のプログラム⇒現在時刻が○時30分の間だけ、スプライトが15度ずつ回っていく。
・2つ目のプログラム⇒現在時刻が○時30分だったら、それ以降ずっとスプライトが15度ずつ回っていく。
2つのプログラムを言葉で表現すると上記のようになります。
1つ目のプログラムは、時刻になったらスプライトが回り始め、時刻でなくなったら動きをやめ、また再び時刻になったら回っていきます。
それに対して、2つ目のプログラムでは、時刻になって回り始めたら、スプライトはずっと回り始めます。
このように、「条件分岐処理」の中に「繰り返し処理」が含まれているのか、「繰り返し処理」の中に「条件分岐処理」が含まれているかは大きく異なります。
そのため、これらの2つの処理を利用するときには、自分が作成したいプログラムがどんな動きなのかよく考えてから組み立てる必要がありますよ。
「条件分岐処理」と「繰り返し処理」の両方を1度に行うプログラムについて学習しました。
少し応用的な内容だったので、「難しいな」と感じた方もいらっしゃるかもしれませんね。
「条件分岐処理」も「繰り返し処理」も良く使う制御なので、何度も使ううちにマスターしましょう!
今回は本来のプログラミングにとても近い内容なので、少しずつ理解できれば大丈夫ですよ。
次回の講座では、スプライトと会話を行うプログラムを作成します。 次回もどうぞお楽しみに!