逻辑运算符(第三部分)
本课属于 Coddy GDScript 学习旅程的“基础知识”单元。第 24 课,共 92 课。
你可以在一个表达式中组合多个条件。要检查一个数字是否为正数且为偶数:
var number := 6
var is_positive := number > 0
var is_even := number % 2 == 0
var result := is_positive and is_even # true你也可以直接编写条件,而不使用额外的变量:
var result := number > 0 and number % 2 == 0使用 or 时,只要有一个条件为真就足够了。-4 是负数,所以即使 -4 不是奇数,结果仍然是 true:
var number := -4
var negative_or_odd := number < 0 or number % 2 != 0 # trueGDScript 会先计算 not,再计算 and,最后计算 or。括号会改变顺序:
var level := 3
var has_key := false
var has_map := true
print(level >= 5 and (has_key or has_map)) # false
print(level >= 5 and has_key or has_map) # true要检查一个值是否在某个范围内,用 and 连接两个比较:level >= 1 and level <= 10。GDScript 会将数学形式 1 <= level <= 10 报告为错误。
挑战
简单玩家想探索一个地下城。变量 level、has_key 和 has_map 已为你声明。再声明三个变量:
can_enter:level至少为5,并且玩家有钥匙或地图can_find_treasure:玩家有钥匙并且有地图并且level至少为10is_lost:玩家没有钥匙,也没有地图,或者level小于3
使用 and、or 和 not。使用给定的值,输出为:
Can enter: true
Can find treasure: false
Is lost: false亲手试试
extends Node
func _ready():
var level := 7
var has_key := true
var has_map := false
# 在下方声明 can_enter、can_find_treasure 和 is_lost
# 不要修改下面的代码行
print("Can enter: ", can_enter)
print("Can find treasure: ", can_find_treasure)
print("Is lost: ", is_lost)
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: GDScript 在线编译器