提供:Japanese Scratch-Wiki
< 真偽ブロック
しんぎブロックは、「じょうけん・じょうたい」をいみするろっかくけいのブロックである(このけいじょうは、フローチャートにおける「じょうけんはんだん」にちかいかたちとしてさいようされた)。プログラムないでよびだされたとき、しんぎブロックは、しん(True)またはぎ(False)をかえす値ブロックとしてふるまう。
しんぎブロックは調べるブロック、演算ブロック、変数ブロックの3つのカテゴリにそんざいしており、そうすうは13こである。ブロック定義 (カテゴリ)でも、ブロック定義でしていしておけば、しんぎブロックによるしんぎちのにゅうりょくをうけとることができる。
ブロック
Scratch 3.0には、次の13このしんぎブロックがそんざいする:
<[ v] にふれた>
<[#000] いろにふれた>
<[#000] いろが [#000] いろにふれた>
<マウスがおされた>
<[ v] キーがおされた>
<[] < []>
<[] = []>
<[] > []>
<<> かつ <>>
<<> または <>>
<<> ではない>
<[] に [] がふくまれる::operators>
<[ v] に [] がふくまれる>
けいじょう
しんぎブロックはしん(True)またはぎ(False)のいずれかの「じょうけん」(じょうたい)をもつブロックである。けいじょうはろっかくけいであり、ほかのブロックにあるろっかくけいのスロットにはめこんでしようする(ろっかくけいのスロットはじょうけんをあらわし、すべてのしんぎブロックを入れることができる)。
もし <[スペース v] キーがおされた> なら [ジャンプ! v] をおくる end
さらに、けいじょうはいっちしないものの、もじれつをにゅうりょくするばしょにはしんぎブロックをはめこむこともできる。
@greenFlag がおされたとき::events hat ずっと <[Sprite1 v] にふれた> という//Sprite1にせっしょくしているあいだは「true」、せっしょくしていないあいだは「false」とひょうじされる。
しん(True)とぎ(False)は、つぎのようにすればすうちにへんかんできる(しんは1、ぎは0となる)。
@greenFlag がおされたとき::events hat ずっと ((0) + <[Sprite1 v] にふれた>) という//Sprite1にせっしょくしているあいだは「1」、せっしょくしていないあいだは「0」とひょうじされる end
これらのスクリプトでは、しんぎブロックじたいはしん(True)またはぎ(False)をかえしているが、スプライトでこれらを文字列やすうちにへんかんして、ひょうじしている。
しゅるい
Scratchには2しゅるいのしんぎブロックがある。1つはとくていのじょうたいをしらべるもの、もう1つはあたいをひかくするものである。
じょうたいをしらべるしんぎブロックには、たとえばつのものがある: () に () が含まれるブロック、() に触れたブロック
あたいどうしをひかくするしんぎブロックには、たとえばつぎのものがある: () = ()ブロック、() かつ ()ブロック、() ではないブロック なお「() かつ ()」「() または ()」「() ではない」ブロックがかえすあたいは、真理値表にもとづいている。
しようれい
しんぎブロックは、ブロックのないようをひょうかして、しんまたはぎをかえすブロックであり、じょうけんしていしたいときにしようできる。 しんぎブロックによるじょうけんをうけとるブロックは、C型ブロック、制御ブロック、スタックブロックの3つのカテゴリにそんざいするが、そのなかでもせいぎょカテゴリのもし () ならブロックはとくにりようするきかいがおおい。 「もし () なら」ブロックでは、じょうけんがしんのときないぶのブロックがじっこうされるが、このじょうけんには「マウスがスプライトにふれたかどうか」から「ある変数のあたいがほかのへんすうとひとしいかどうか」まで、さまざまなないようがしていできる。 次に「もし () なら」ブロックのしようれいをしめす:
@greenFlag がおされたとき::events hat <(ストップ実行) = [1]> までくりかえす (10) ほうごかす [いろ v] のこうかを (25) ずつかえる おわるまで [meow v] のおとをならす もし <[はし v] にふれた> なら [しゅうりょう!] と (2) びょういう [このスクリプト v] をとめる ::control cap end end
() まで繰り返すでは、しんぎブロック() = ()をつかって、へんすう「ストップじっこう」のあたいが1であるかどうかをしらべている。このばあいは、じょうけんがぎとなるあいだ(へんすう「ストップ実行」が1ではないとき)、ないぶのブロックがじっこうされる。 いっぽう、くりかえししょりのないぶにあるもし () ならでは、しんぎブロック() に触れたをつかって、スプライトががめんのはしにせっしょくしたかどうかをしらべている。こちらのばあいは、じょうけんがしんのばあい(スプライトががめんのはしにせっしょくしたばあい)、「もし () なら」ないぶのブロックがじっこうされるため、このスクリプトがしゅうりょうする。
そのほかのしようれい
しんぎちかんひかく
しんぎちのあたいは、べつのしんぎちのあたいとひかくすることができる。たとえば、つぎのれいでは2つのしんぎブロックがかえすあたいをちょくせつひかくしている。このれいでは、りょうほうのしんぎブロックがおなじあたいをかえすとき(りょうほうともしん、または、りょうほうともぎ、XNOR)、「もし () なら」ないぶのコードがじっこうされる。
もし <<マウスがおされた> = <[#00A] いろにふれた>> なら ... end
へんすうへのだいにゅう
しんぎちは、ほかのあたいとおなじようにへんすうに入れることができる。たとえば、つぎのスクリプトをじっこうすると、げんざいのマウスのじょうたいがしんぎちとしてへんすう「bool」にかくのうされる(マウスがおされているときはしん(True)、マウスがおされていないときはぎ(False)がかくのうされる)。
[bool v] を <マウスがおされた> にする
このようにしてしんぎちを入れたへんすうは、あとからほかのしんぎち(しんぎブロック)とひかくすることができる:
もし <<マウスがおされた> = (bool)> なら ... end
じょうきのれいでは、げんざいのマウスのじょうたいが、boolへんすうにあたいをいれたときとおなじであるかどうかがチェックされる。