三大核心逻辑运算符
&& —— “和”或“并且” (and)
规则:两边的问题都必须答“是”(true),最终答案才是“是”(true)。只要有一个“否”(false),最终就是“否”(false)。玩家.血量 > 0 && 玩家.饥饿值 > 0
意思:“玩家血量大于0”并且“饥饿值大于0”。
只有两个条件都满足,结果才是 true(玩家状态良好)。
如果血量是0(死),或者饿到0,结果就是 false。
|| —— “或” (or)
规则:两边的问题只要有一个答“是”(true),最终答案就是“是”(true)。只有两个都是“否”(false),最终才是“否”(false)。玩家.手持物品 == "木剑" || 玩家.手持物品 == "石剑"
意思:“玩家拿着木剑”或者“玩家拿着石剑”。
只要满足其中一个条件,结果就是 true(玩家拿着基础剑)。
只有既不拿木剑也不拿石剑(比如拿弓),结果才是 false。
! —— “取反”或“不是” (not)
规则:把原来的结果反过来。 true 变成 false,false 变成 true。!玩家.是管理员
意思:“不是管理员”。
如果 玩家.是管理员 是 true(是管理员),那么 !玩家.是管理员 就是 false(不是普通玩家)。
如果 玩家.是管理员 是 false(不是管理员),那么 !玩家.是管理员 就是 true(是普通玩家)。
综合例子:用在 if 判断里
if (玩家.血量 > 0 && (玩家.手持物品 == "木剑" || 玩家.手持物品 == "石剑")) {
print("你可以用剑攻击!");
} else {
print("你无法攻击。");
}分解:玩家.手持物品 == "木剑" || 玩家.手持物品 == "石剑"
先看“或者”部分——只要拿着木剑或者石剑,这部分就是 true。
整个条件:玩家.血量 > 0 && (上面的结果)
玩家必须活着(血量>0)并且(&&)拿着基础剑(上面的结果为true),最终条件才是 true。
结果:只有活着并且拿着基础剑的玩家,才能看到“你可以用剑攻击!”。
为什么先看“或者”部分?
使用括号括起来的部分 (玩家.手持物品 == "木剑" || 玩家.手持物品 == "石剑") 代表一个整体
