Lua第二个嵌套if语句被忽略

时间:2017-11-05 02:13:12

标签: if-statement lua

我正在为我的任务编写一个tic tac toe游戏,而我仍然坚持使用嵌套的if语句。我的代码附件部分如下:

if name[1] == "AI" then 
     print("test string")
     playerId = 1
     if level == 1 or level == 2 then
        print("AI lvl 1/2")
        easy()
     elseif level == 3 then
        print("AI lvl 3")
        hard()
     end
elseif name[1] == "player" then
    print("test string2")
    Runtime:addEventListener("touch", fill)
end

执行此操作时,测试字符串打印在控制台上,并且playerId = 1,但在第二个if语句中被完全忽略。甚至不在控制台上打印。 有人可以帮我解决吗?或者告诉我我的代码有什么问题。 感谢

1 个答案:

答案 0 :(得分:3)

添加print(level, type(level))之类的内容,了解level是什么。请记住,当您想要进行一些算术或字符串连接时,lua可以将'123'之类的字符串转换为数字,反之亦然,但是您无法将字符串与这样的数字进行比较:123 == '123'将返回{ {1}}。

因此,如果false是字符串,请使用level1替换代码中的23'1''2',或将'3'转换为数字:level