跳到主要内容

示例3:条件语句

触发器中的条件

每个触发器都有一个条件栏,可以填写执行下方动作所满足的条件。条件栏里填写的可以是单句简单条件,也可以是多句或嵌套的复合条件。如果条件满足(等价于条件为真),则执行下方动作。

目前星火的触发器提供了且(And)、或(Or)、非(Not)三种复合条件

默认的条件语句,其判断关系是『And』,例如,下图中需要同时满足以下三个条件,才能整体判断为真。

且(And)、或(Or)、非(Not)三种复合条件,都对其下属层级有效,而非传统编程中的链接效果。

例如:下图中的 or 代表了下属的三个条件是 or 逻辑,即满足三个条件中任意一个条件即可执行后续逻辑。

对于嵌套式的逻辑,会优先执行最内部的条件最后才会执行外部条件(如图所示)

动作中的条件

触发语句中的条件判断语句有两种:if 和 switch。if 因为能够进行与/或/非关系之间的运算,所以适合判断复杂逻辑;而switch语句适用于处理多个固定取值的情况。

条件语句if的使用

if 语句分为三段,如果下方的条件成立,那么执行一段动作,否则执行另外一段动作。

下面是一个判断生命值的例子:

用 if 语句判断主控单位生命的最终值是否大于等于500,并输出不同的日志信息。运行时可以看到主控的生命值为1000,是大于500的,那么输出:“生命值大于等于500”。

条件语句switch的使用

switch 表达式后面的值将会与每个 case 后面的常量值进行比较。如果相等,则执行对应分支的动作;如果没有匹配值且该 switch 语句存在 default 分支,则执行 default 分支的动作。

注意:switch 语句中,每个分支的最后一个语句必须为 break,否则会继续向下执行到后续的分支。

下面是一个按下不同的键盘按键从而输出不同消息的例子(按键按下事件已省略):

按下 C 的时候输出:

按下的键盘按键是C

按下 E 的时候输出:

按下的键盘按键是E

按下 C、E 之外的键时输出:

按下的键盘按键并非C或E