こちらは、スクラッチの「もし◇なら▢でなければ」ブロックの使い方を、詳しく徹底解説しています!
「もし◇なら▢でなければ」ブロック
「もし◇なら▢でなければ」ブロックは、指定した条件を満たしていれば1番目のC型の中に入れたブロックを実行し、条件を満たしていなければ2番目のC型の中に入れたブロックを実行します。
プログラミングの世界では、条件分岐のIF文が、「もし◇なら▢でなければ」ブロックになります。
◇に入るのは、「条件・状態」を意味する六角形のブロック「真偽ブロック」が入ります。(Scratchのブロックの種類と役割について)
真偽ブロックは、真(True)または、偽(False)のいずれかの「条件・状態」を持つブロックです。
つまり、「もし◇なら~でなければ」ブロックは、「指定した条件を満たす=真(True)」になったら1番目のC型の中に入れたブロックを実行し、「指定した条件を満たさない=偽(False)」になったら2番目のC型の中に入れたブロックを実行するというわけです。
「もし◇なら」ブロックの場合は、「指定した条件を満たさない=偽(False)」になったら、何も実行しないブロックでしたが、「もし◇なら▢でなければ」ブロックは、「偽(False)」の場合も条件の1つとなっています。
では、実際に例を見ていきましょう。
こちらは「〇と聞いて待つ」ブロックを使って、足し算の問題を出しています。
「2+3」の答えは「5」なので、「もし◇なら▢でなければ」ブロックの条件は「答え=5」で設定。
「答え」には入力した数字が入ります。
正しく答えられたら「正解!」、間違ったら「不正解!」と言うプログラムです。
プログラムを実行すると、「2+3の答えは?」と聞いてくるので、正解の「5」を入力してEnterキーを押します。
条件は「答え=5」だったので、条件を満たした「真(True)」となり、1番目のC型の中に入れたブロックが実行されました。
今度は間違った答え「8」を入力してみます。
今度は、条件を満たしていない「偽(False)」となり、2番目のC型の中に入れたブロックが実行されました。
もう一つの例を紹介します。
こちらの条件は「x座標>200」としています。
もしも、x座標が200を超えた場合は、「到着!」と言い、超えていない場合は、10歩歩くプログラムとなっています。
つまり、200を超えない場合は、常に10歩歩くということです。
こちらを実行すると、x座標が200を超えるまで、ずっと10歩ずつ歩き続け、200を超えたときに、1番目のC型の中に入れたブロックが実行されました。
制御ブロック一覧
「制御」ブロックには、以下の11個のブロックが用意されています。
- ハットブロック・・・1つ
- スタックブロック・・・3つ
- C型ブロック・・・5つ
- キャップブロック・・・2つ
ブロックの色は、山吹色で統一されています。
主に何かの処理をした場合に、発生するイベントの条件分岐で利用されるプログラムになっています。
制御ブロック | 動作 |
---|---|
〇秒待つ プログラムの処理を指定した秒数だけ一時停止する |
|
〇回繰り返す 指定した回数だけ中に入れたブロックの処理を繰り返し実行する |
|
ずっと 中に入れたブロックの処理を繰り返し実行する |
|
もし◇なら 指定した条件を満たしていれば、中に入れたブロックを実行する |
|
もし◇なら▢でなければ 指定した条件を満たしていれば1番目のC型の中に入れたブロックを実行し、条件を満たしていなければ2番目のC型の中に入れたブロックを実行する |
|
◇まで待つ 指定した条件を満たすまでプログラムを一時停止する |
|
◇まで繰り返す 指定した条件を満たすまで、中に入れたブロックの処理を繰り返し実行する |
|
〇を止める 指定したスクリプトを止める |
|
クローンされたとき クローンされたときに下のブロックを実行する【スプライトのみ】 |
|
〇のクローンを作る 指定したスプライトのクローンを作る |
|
このクローンを削除する クローンを削除する【スプライトのみ】 |