判断 = 比较 + 分支。今天把三种 if 写法、以及工程里最好用的「防卫语句」一次练透。
-- 1) 最简:只有条件成立才走
if n == 0 then
print("为 0")
end
-- 2) 二选一
if n == 0 then
print("为 0")
else
print("其他")
end
-- 3) 多路分支(唯一出口)
if n == 0 then
print("为 0")
elseif n == 1 then
print("为 1")
elseif n == 2 then
print("为 2")
else
print("其他")
end
elseif 链是唯一分支跳转:命中一个就跳出,后面不再判断。
-- elseif:命中即停
if n > 0 then print("A")
elseif n > 1 then print("B")
elseif n > 2 then print("C")
end
-- 独立 if:每个都可能走
if n > 0 then print("A") end
if n > 1 then print("B") end
if n > 2 then print("C") end
当 n = 2 时:
elseif 链:只打印 A(第一个满足就停)怎么选:互斥场景用 elseif;可以同时触发的用多个 if。
领奖条件「等级 ≥ 10 且职业 = 战士」可以写成嵌套 if,但更清爽的是:
if level < 10 then
say("等级不足")
return
end
if job ~= 0 then
say("职业不对")
return
end
-- 能走到这里 = 全部条件已满足
GiveItem(actor, "木剑", 1)
先挡不合格的,合格的直接往下执行。读代码像走流程图,少一层缩进。
只有两种「假」:
falsenil(空值)0 也是真! 因为 0 真实存在。
if 0 then print("真") end --> 真
if nil then print("?") end --> 不走
if false then print("?") end --> 不走
for i = 1, 10 do
if i == 5 then print("—— 分割 ——") end
print(i)
end
循环管重复,判断管分叉,组合是写功能的基本功。
今日练习:写一个 elseif 链区分 0/1/2/其他;再写防卫语句版领奖逻辑(等级不足 / 职业不对直接 return)。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
会判断了,就能做会回话的 NPC。今天拼一个简易 GM 工具界面。 一、用 say 吐出界面 客户端编辑器 Ctrl + F…
与或非听起来玄,其实就是三张通行证。 一、and(与)= 过安检 机票 + 身份证 ,少一样不让过。后面还能无限加条件。 二…
判断 = 比较 + 分支。今天把三种 if 写法、以及工程里最好用的「防卫语句」一次练透。 一、三种判断结构 elseif …
表会建、会取、会增删改查,最后一环是 遍历 。本篇先把坑标出来,下节课正式拆迭代器。 本课互动训练 :专属动画 + 选择题测…
「我只改了 b,a 怎么变了?」——这是表引用问题的标准嚎叫。今天把钥匙和锁彻底讲清。 本课互动训练 :专属动画 + 选择题…
理论够了,进游戏干一票:用一张表,存下角色的名、级、包、属性,并用它驱动「给我装备」。 本课互动训练 :专属动画 + 选择题…