Doc:JA/2.6/Manual/Game Engine/Logic/Controllers/Expression

提供: wiki
< 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 Controller
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)

これは真を返します。この場合はアクチュエータに正パルスが送られます。