用这些就能检查各种有用的信息。例如,如果一个敌兵的生命值是0,他是不是就该死去了呢?或者检查一下我们是否够钱买下那把新剑!当然光靠这些运算符还是不行的,大多数情况下我们还需要下一组新的表达式。
我的最爱第一个,“if”语句。用来检测某个条件是否为真,如果是则执行一段代码。还可以增加功能,如果条件不满足则做另一件事。简单的“if”表达式如下:
代码:
if <某条件> then
<执行某代码>
end
现在举个现实的例子。假设有个程序设了两个变量,myCash 和 itemCost。myCash 是我们拥有的金钱数,itemCost 则是我们想要购买的物品价格。在游戏中我们需要检查是否有足够的钱购买该物品。如果有,则从总金钱数中扣除,打印一条已购买消息到屏幕上。如果钱不够,则打印一则消息到屏幕,通知玩家不够钱买。代码应该跟下面的差不多:
代码:
myCash = 253
itemCost = 100
if myCash > itemCost then
myCash = myCash - itemCost
screen:print(100,100,"Item Bought",blue)
else
screen:print(100,100,"Not enough money",blue)
end
让我们分析一下。首先,我们设了两个变量,告知我们有多少钱,和物品值多少钱。然后是我们的if表达式,其含义等同于 "if 253 > 100 then",就是问变量 myCash 的值是否大于变量 itemCost 的值。如果是...则运行下一行,获取 itemCost 的值并将其从 myCash 的值中扣除。换言之就是 253-100,然后将答案存于 myCash。接着下一行则是打印字串“Item Bought”至屏幕。在下一行我们用了"else",即随后代码将在 myCash 不大于 itemCost 时执行,在此情况下它将打印字符串 "Not enough money" 至屏幕。最后,自然还是“end”,结束整个表达式。
在上例中,我们有足够的钱购买那个物品。因此“else”段的代码不会被执行。许多时候你甚至不需要使用else,有时你则需要使用多个else。这种情况下你可以使用“elseif”。兹举一例:
代码:
myNumber = 4
if myNumber == 1 then
screen:print(100,100,"Your lucky number is 1",blue)
elseif myNumber == 2 then
screen:print(100,100,"Your lucky number is 2",blue)
elseif myNumber == 3 then
screen:print(100,100,"Your lucky number is 3",blue)
else
screen:print(100,100,"Your number isn't very lucky!",blue)
end
这段代码检查 myNumber 是否等于 1、2 或 3。如果是,则打印“Your lucky number is (number)”。但是如果 myNumber 不等于 1、2 或 3 则打印“Your number isn't very lucky”。注意,此例程可以简单化,只用一个 else 无需 elseif,只要改成“if myNumber > 0 and myNumber < 4 then”即可。接下来就让我们学一学“and”关键字和其他的知识。