Doc:JA/2.6/Manual/Game Engine/Logic/Controllers/Expression
< Doc:JA | 2.6 | Manual | Game Engine | Logic | Controllers
2014年5月26日 (月) 21:11時点におけるwiki>Irieによる版 (Correct errors in "Conditional statement (if)".)
Expressions Controller
(式コントローラ)
コントローラは式を評価して正または負のパルスをアクチュエータに送ることができます。
- 式の評価が
True
(真)の場合、正のパルスを送ります。 - 式の評価が
False
(偽)の場合、負のパルスを送ります。
- Expression(式)
- 枠内に記述する式には変数(variable)、定数(constant)、および 演算(operator)を組み合わせることができます。以下のルールに従う必要があります。
変数
使えるのは:
- sensors names: センサの名前
- properties: プロパティをオブジェクトに登録して、式の中で使えます
これらの名前にはスペースを含んではいけません。
演算
算術演算
演算子: *, /, +, -
返り値: 数値
例: 3 + 2, 35 / 5
論理演算
- 比較演算子: <, >, >=, <=, ==, !=
- ブーリアン演算子: AND, OR, NOT
返り値: 真または偽
例: 3 > 2 (True), 1 AND 0 (False)
条件文(if)
以下の文を使います。
if( expression, pulse_if_expression_is_true, pulse_if_expression_is_false )
式(expression)の評価が真の場合、
pulse_if_expression_is_true
が真ならアクチュエータに正パルスを送る。pulse_if_expression_is_true
が偽ならアクチュエータに負パルスを送る。
式の評価が偽の場合、
pulse_if_expression_is_false
が真ならアクチュエータに正パルスを送る。pulse_if_expression_is_false
が偽ならアクチュエータに負パルスを送る。
例
たとえば、オブジェクトにcoins
というプロパティをつくり、値は30にしておきます。
coins > 20
これは真を返します(アクチュエータに正パルスを送ります)。
たとえば、オブジェクトが
Key_Inserted
というセンサを持ち、値は真Fuel
というプロパティを持ち、値は偽
という場合、
Key_Inserted AND Fuel
これは偽を返します(アクチュエータに負パルスを送ります)。
これは以下と同じです。
if (Key_Inserted AND Fuel, True, False)
また、
if (Key_Inserted AND Fuel, False, True)
こう書くと、Key_Inserted AND Fuel
が偽の場合に正パルスが送られます。
さらに、
if ((Key_Inserted AND Fuel) OR (coins > 20), True, False)
これは真を返します。この場合はアクチュエータに正パルスが送られます。