我正在为我的任务编写一个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语句中被完全忽略。甚至不在控制台上打印。 有人可以帮我解决吗?或者告诉我我的代码有什么问题。 感谢
答案 0 :(得分:3)
添加print(level, type(level))
之类的内容,了解level
是什么。请记住,当您想要进行一些算术或字符串连接时,lua可以将'123'
之类的字符串转换为数字,反之亦然,但是您无法将字符串与这样的数字进行比较:123 == '123'
将返回{ {1}}。
因此,如果false
是字符串,请使用level
,1
替换代码中的2
,3
和'1'
, '2'
,或将'3'
转换为数字:level