
「もし」のブロックはプログラミングでは100%使うと断言してもいいほど大切なものです。
基本を覚えて、しっかり使いこなしましょう!
「もし~なら」ブロックとは
例えば「信号」を例に説明します。
- 赤 = 止まって下さい!
- 青 = 進んでOK!
- 黄 = もうすぐ赤になるよ、気を付けて!
上記がそれぞれの色に割り当てられた意味です。
「ヒト」であれば信号の色を見ただけで、今がどういう状況か分かりますが、プログラミング(パソコン)では、それぞれの色の役割りを教えてあげる必要があります。
そのように、結果によって答えが違う時に使うのが「もし~なら」ブロックです。
「もし~なら」ブロックの使い方
「もし」のブロックは2種類あります。
それぞれの使い分けについて、まず説明します。

左のブロックは答えがひとつしかない時に使います。

このようにマウスポインターに触れたら、処理が発生しますが、触れなければ何も起こりません。
しかし、どちらかと言えば右のブロックのように「でなければ」=「例外が発生したらどうするか」の処理を指定する機会の方が多いかもしれません。

スクラッチではゲームを作ることが多いと思います。
結果のいずれかで処理が変わる方が、よりゲーム性の高い作品が作れると思います。
実際のプログラミングでは、「もし」のことを「if」、「でなければ」のことを「else」と言ったりしますので、頭の片隅にでも入れておいてくださいね(^_-)-☆
信号の色によって違う結果を表示させる
それでは、冒頭の信号の色を使ったプロジェクトを作っていきます。
まずは信号を作ります。
円を描いて、3色に塗りつぶしをします。
今回はひとつのスプライトの中で色によってコスチュームを分けることにします。

次に信号に対してスクリプトを設定していきます。
下の画像のように組み立ててみて下さい。

これで、信号の「色」を受け取った時に、表示させる準備が整いました。
しかし、肝心の「色」を送るスクリプトがありません。
そこで、ネコ(スプライト1)に設定します。
まず最終結果のスクリプトはこちらです。

解説していきます(*^-^*)
「調べるブロック」を使って、「赤=1」「黄=2」「青=3」を押してもらうようにしました。(1、2、3にしましたが他のキーでもOKです)
答えが「1」だった場合、「止まって下さい!」と言うと同時に、信号に「赤を送る」が実行されるので、赤丸が表示されます。
答えが「2」であれば、黄色が表示され、「もうすぐ赤になるよ・・・」と注意を言います。

ここで、大切なことを2つ説明します!
ひとつめはスクラッチに限らずプログラミングでは、スクリプト(コード)が上から順に処理されていきます。
(例外があったらすみません”(-“”-)”)
そのため、上のスクリプトでは、以下のような処理がなされていきます。
答え=1(OK、結果を表示)、答え=1以外(NG、下へ)
↓
答え=2(OK、結果を表示)、答え=2以外(NG、下へ)
↓
答え=3(OK、結果を表示)、答え=3以外(NG、下へ)
↓
答え=1、2、3以外のすべて(何らかの入力がある場合)
「1か2か3を押してね!」と表示される
という流れになります。
それを踏まえて、大切なことのふたつめは、「でなければ」の部分に、次の「もし~なら」のブロックを入れ込んでいることです。

こうすることで、上から順に処理を実行している様子が、分かりやすくなります。
しかし、以下のやり方でも動きます。

どちらを使うかは自由ですが、Scratch星人は最初のやり方の方が、面倒ですが好きです。
これで完成ですので実行して確認してみて下さい(^_-)-☆
まとめ
「もし~なら」ブロックの使い方について書いてみました。
何か動きがおかしいと感じたら、上から処理されていくということを思い出してみて下さい。
このブロックを使いこなせるようになったら、スクラッチ初心者は卒業ですので、頑張ってマスターしてみて下さいね(^^♪
コメント