If statement 忽略Lua第二个嵌套if语句

If statement 忽略Lua第二个嵌套if语句,if-statement,lua,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 l

我正在为我的作业编写一个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语句中被完全忽略。甚至不能在控制台上打印。 有人能帮我解决吗?或者告诉我我的代码有什么问题。
谢谢

添加类似于
打印(级别,键入(级别))
的内容,查看
级别是什么。请记住,当您想进行一些算术运算或字符串连接时,lua可以将像
'123'
这样的字符串转换为数字,反之亦然,但您不能将字符串与那样的数字进行比较:
123=='123'
将返回
false


因此,如果
level
是一个字符串,可以将代码中的
1
2
3
替换为
'1'
'2'
'3'
,或者将
level
转换为一个数字:
level=tonumber(level)
,测试字符串2是在name[1]=“player”时打印的检查
级别的值是多少。听起来好像不是1、2或3。你从哪里得到的?如果您在定义了
level
的地方发布代码,我们可能会给您一些更具体的帮助。在这个场景中:local-level=composer.getVariable(“level”),在难度级别场景中,composer.setVariable(“level”,“1”),level表示难度级别,仅在添加打印(“level”。.level)后1,2,3在上面代码的playerId=1下面,当我选择相关级别时,它会打印级别1/2/3。类似于