Lua中第二层嵌套if语句被忽略

我正在编写一个井字棋游戏作业,但我被嵌套的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

虽然这段代码被执行了,控制台上打印出了 test string 并且 playerId = 1,但第二层if语句完全被忽略了,甚至没有在控制台上打印出信息。 请问有人能帮我解决这个问题吗?或者告诉我我的代码哪里出了问题,谢谢。

点赞
用户88888888
用户88888888

请添加类似 print(level, type(level)) 这样的内容以查看 level。请记住,Lua 可以在您要执行一些算术或字符串连接操作时将字符串如 '123' 转换为数字,反之亦然,但是您不能像这样比较数字与字符串:123 == '123' 将返回 false

因此,如果 level 是字符串,则请在代码中将 123 替换为 '1''2''3',或将 level 转换为数字: level = tonumber(level)

2017-11-05 05:33:21