Scratchで条件分岐をする方法を知りたいな。
こんな疑問にお答えします。
- Scratchで条件分岐する4つの方法を徹底解説
そんな私は大手メーカーでソフトウェアエンジニアを6年以上経験していまして、バリバリプログラムを書いていました。
この私が解説します。
Scratchで条件分岐する4つの方法を徹底解説
Scratchには4種類の条件分岐ブロックがあります。
- もし◇なら
- もし◇なら、でなければ
- ◇まで待つ
- もし端に着いたら、跳ね返る
上記のとおりです。
最初の3つは制御の中にあります。
そして、「もし端に着いたら、跳ね返る」ブロックは動きの中にあります。
それぞれ順番に解説します。
もし◇なら
「もし◇なら」ブロックは条件が成り立つときに処理を実行します。
使い方は簡単で「もし◇なら」の◇に条件を設定し、ブロックの間に処理を入れるだけです。
このプログラムだとスペースキーが押されるまで何もしないで、スペースキーが押されたらこんにちは!と表示します。
以上のように「もし◇なら」ブロックは特定の条件下で実行したい処理がある場合に使用します。
もし◇なら、でなければ
「もし◇なら、でなければ」ブロックは条件が成り立つときの処理か成り立たないときの処理を実行します。
こちらも使い方は簡単で「もし◇なら」の下に条件が成り立つ場合の処理、「でなければ」の下に条件が成り立たない場合の処理を入れるだけです。
このプログラムだと何もしていないときは前後に動き続けて、スペースキーが押されたらこんにちは!と言います。
以上のように「もし◇なら、でなければ」ブロックは条件によって実行する処理を分けたい場合に使用します。
◇まで待つ
「◇まで待つ」ブロックは条件が成り立つまで処理を止めて待ちます。
使い方は簡単で、止めておきたい処理の手前に配置します。
このプログラムだとスペースキーが押されるまで何もしないで、スペースキーが押されたらこんにちは!と表示します。
以上のように「◇まで待つ」ブロックは条件を満たすまで処理を止めておきたい場合に使用します。
もし端に着いたら、跳ね返る
「もし端に着いたら、跳ね返る」はスプライトが画面の端に着いたら180度回転します。
例えば、次のような使い方をします。
このプログラムだと10歩ずつ動き続けて、画面の端についたら180度回転して再び10歩ずつ動き続けます。
そして、反対側の画面の端についたら再び180度回転して10歩ずつ動き続けます。これを繰り返します。
ちなみに、上記と同じ動作をするプログラムを「もし端に着いたら、跳ね返る」ブロックを使用しないで作ると次のとおりです。
そのブロック崩しを作るとこんな感じです。(ブロックは無いですが…)
以上のように「もし端に着いたら、跳ね返る」ブロックは画面内で動作を繰り返したいときに使用できますよ。
まとめ
本記事のおさらいです。
- Scratchの条件分岐には「もし◇なら」、「もし◇なら、でなければ」、「◇まで待つ」、「もし端に着いたら、跳ね返る」の4種類がある
- 「もし端に着いたら、跳ね返る」は「もし◇なら」と「端に触れた」を組み合わせれば同じ動作を実現可能
上記の通りです。
「もし◇なら」に登場した条件式の◇には真偽値が入ります。真偽値については「Scratchの「引数」とは?考え方から使い方まで詳しく解説」で詳しく解説しているので、あわせてご覧ください。
また、その他のScratchに関する解説は下記の記事をご覧ください。使い方だけでなく本質がわかるように解説しています。
では、Scratchを楽しんでください(^_^)/~