こちらは、スクラッチの「演算」ブロックの中にある「◇または◇」ブロックの使い方を、詳しく徹底解説しています!
「◇または◇」ブロック
「◇または◇」ブロックは、指定した2つの条件でどちらか一方を満たすときにtrueを、そうでないときにfalseを返します。
「真(true)」か「偽(false)」で返すブロックを「真偽ブロック」といいます。
「真偽ブロック」は、六角形の形をしており、真(True)または、偽(False)のいずれかの「条件・状態」を持つブロックです。(Scratchのブロックの種類と役割について)
「◇または◇」ブロックでは、2つの真偽ブロックが入り、どちらかが「真(true)」を返すことで、「◇かつ◇」ブロックも「真(true)」を返します。
「◇または◇」ブロックの真偽パターン
「◇または◇」ブロックの真偽パターンをまとめると、以下の通りです。
パターン | 真偽ブロックA | 真偽ブロックB | 「◇または◇」ブロック |
1 | 真(True) | 真(True) | 真(True) |
2 | 真(True) | 偽(false) | 真(True) |
3 | 偽(false) | 真(True) | 真(True) |
4 | 偽(false) | 偽(false) | 偽(false) |
このようにパターン4のみ、「◇かつ◇」ブロックは、「偽(false)」を返し、それ以外は「真(true)」を返します。
「◇または◇」ブロックの中の状態を確認したい場合は、「◇または◇」ブロックをクリックしましょう。
クリックすると、「◇または◇」ブロックの中の状態を確認できます。
「◇または◇」ブロックの使い方
それでは、「◇または◇」ブロックの使い方を見ていきましょう。
今回は、「cat」「Bat」の2つのスプライトを使って、相手のスプライトに触れたら、または、ステージの端に触れたら、向きを逆にしてひたすら歩くプログラムを紹介します。
こちらは、「cat」スプライトのプログラムです。
「緑の旗が押されたとき」ブロックを使って、緑の旗がクリックされたときに、プログラムが開始します。
基本は、「ずっと」ブロックの中で「〇歩動かす」ブロックを使って10歩歩かせています。
こちらは、「◇または◇」ブロックを使った条件分岐です。
条件は、以下のどちらかを満たせば「真(True)」を返します。
- スプライトが端に触れたかどうか
- スプライトが「Bat」スプライトに触れたかどうか
こちらは、「Bat」スプライトのプログラムです。
「cat」スプライトのプログラム内容と同じで、違う点は、「◇または◇」ブロックの「catに触れた」の部分のみです。
そして、緑の旗をクリックすると、お互いが10歩ずつ歩き出し、端についたら、または、相手のスプライトに触れたら逆向きに歩きます。
演算ブロック一覧
「演算」ブロックには、以下の11個のブロックが用意されています。
- 真偽ブロック・・・7つ
- 値ブロック・・・11つ
ブロックの色は、黄緑色で統一されています。
演算ブロック | 動作 |
---|---|
〇+〇(足し算) 指定した2つの数値を足し算した結果を返す |
|
〇-〇(引き算) 指定した2つの数値を引き算した結果を返す |
|
〇*〇(掛け算) 指定した2つの数値をかけ算した結果を返す |
|
〇/〇(割り算) 指定した2つの数値を割り算した結果を返す |
|
〇から〇までの乱数 指定した2つ数値の範囲でランダムな数値を返す |
|
〇<〇(小なり) 左の値が右の値より小さいときにtrueを、そうでないときにfalseを返す |
|
〇=〇(イコール) 左の値と右の値が同じときにtrueを、そうでないときにfalseを返す |
|
〇>〇(大なり) 左の値が右の値より大きいにtrueを、そうでないときにfalseを返す |
|
◇かつ◇ 指定した2つの条件で両方とも満たすときにtrueを、そうでないときにfalseを返す |
|
◇または◇ 指定した2つの条件でどちらか一方を満たすときにtrueを、そうでないときにfalseを返す |
|
◇ではない 指定した条件がtrueであればfalseを、そうでないときにtrueを返す |
|
〇と〇(文字列結合) 2つの値を連結して、くっつけた値を返す |
|
〇の〇番目の文字 指定した文字列から指定した番号の文字を返す |
|
〇の長さ(文字列長さ) 指定した文字列の文字数を返す |
|
〇に〇が含まれる 指定した文字列に指定した文字列が含まれるときにtrueを、含まれていないときにfalseを返す |
|
〇を〇で割った余り 1つめの値を2つめの値で割ったときの余りを返す |
|
〇を四捨五入 指定した数値を四捨五入した値を返す |
|
〇の▢(関数) 指定した数値を指定した数学関数で演算した値を返す |