【スクラッチ】「もし~なら」ブロックの使い方

ブロックの基本
Scratch星人
Scratch星人

「もし」のブロックはプログラミングでは100%使うと断言してもいいほど大切なものです。

基本を覚えて、しっかり使いこなしましょう!

「もし~なら」ブロックとは

例えば「信号」を例に説明します。

  • 赤 = 止まって下さい!
  • 青 = 進んでOK!
  • 黄 = もうすぐ赤になるよ、気を付けて!

上記がそれぞれの色に割り当てられた意味です。

「ヒト」であれば信号の色を見ただけで、今がどういう状況か分かりますが、プログラミング(パソコン)では、それぞれの色の役割りを教えてあげる必要があります。

そのように、結果によって答えが違う時に使うのが「もし~なら」ブロックです。

「もし~なら」ブロックの使い方

「もし」のブロックは2種類あります。
それぞれの使い分けについて、まず説明します。

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

このようにマウスポインターに触れたら、処理が発生しますが、触れなければ何も起こりません。

しかし、どちらかと言えば右のブロックのように「でなければ」=「例外が発生したらどうするか」の処理を指定する機会の方が多いかもしれません。

スクラッチではゲームを作ることが多いと思います。
結果のいずれかで処理が変わる方が、よりゲーム性の高い作品が作れると思います。

実際のプログラミングでは、「もし」のことを「if」、「でなければ」のことを「else」と言ったりしますので、頭の片隅にでも入れておいてくださいね(^_-)-☆

信号の色によって違う結果を表示させる

それでは、冒頭の信号の色を使ったプロジェクトを作っていきます。

まずは信号を作ります。
円を描いて、3色に塗りつぶしをします。

今回はひとつのスプライトの中で色によってコスチュームを分けることにします。

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

これで、信号の「色」を受け取った時に、表示させる準備が整いました。
しかし、肝心の「色」を送るスクリプトがありません。

そこで、ネコ(スプライト1)に設定します。
まず最終結果のスクリプトはこちらです。

解説していきます(*^-^*)

「調べるブロック」を使って、「赤=1」「黄=2」「青=3」を押してもらうようにしました。(1、2、3にしましたが他のキーでもOKです)

答えが「1」だった場合、「止まって下さい!」と言うと同時に、信号に「赤を送る」が実行されるので、赤丸が表示されます。

答えが「2」であれば、黄色が表示され、「もうすぐ赤になるよ・・・」と注意を言います。

Scratch星人
Scratch星人

ここで、大切なことを2つ説明します!

ひとつめはスクラッチに限らずプログラミングでは、スクリプト(コード)が上から順に処理されていきます。
(例外があったらすみません”(-“”-)”)

そのため、上のスクリプトでは、以下のような処理がなされていきます。

答え=1(OK、結果を表示)、答え=1以外(NG、下へ)

答え=2(OK、結果を表示)、答え=2以外(NG、下へ)

答え=3(OK、結果を表示)、答え=3以外(NG、下へ)

答え=1、2、3以外のすべて(何らかの入力がある場合)
「1か2か3を押してね!」と表示される

という流れになります。
それを踏まえて、大切なことのふたつめは、「でなければ」の部分に、次の「もし~なら」のブロックを入れ込んでいることです。

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

どちらを使うかは自由ですが、Scratch星人は最初のやり方の方が、面倒ですが好きです。

これで完成ですので実行して確認してみて下さい(^_-)-☆

まとめ

「もし~なら」ブロックの使い方について書いてみました。

何か動きがおかしいと感じたら、上から処理されていくということを思い出してみて下さい。

このブロックを使いこなせるようになったら、スクラッチ初心者は卒業ですので、頑張ってマスターしてみて下さいね(^^♪

コメント

タイトルとURLをコピーしました