我在电脑游戏中使用Lua来自动进行采矿。但是,如果程序遇到lava/flowing_lava/water/flowing_water source
,我的乌龟程序就可以很好地运行。
在我的程序中,我有很多功能来管理,例如燃料管理,隧道,与砾石的碰撞以及..检测海龟是否遇到“障碍物”。
如果该障碍物只是一个空中障碍物,乌龟会继续前进,否则,如果该障碍物不是一个空中障碍物,则乌龟会挖掘该障碍物,并且如果在她前面还有一个障碍物,则不会向前移动。 问题?我之前引用的四个来源被认为是街区,乌龟无法前进。
我尝试使用if的多条件解决此问题,但是它不起作用,乌龟向前移动并向任意方向挖掘。
所以我认为这是因为我创建if的方式不好,可能是语法(用于将很多或并置为())。
如何解决此问题?
function blockDetection(position, justDetection)
success, detectionBlock = nil
block_name = ""
if position == "right" then
turtle.turnRight()
success, detectionBlock = turtle.inspect()
turtle.turnLeft()
if success then
block_name = detectionBlock.name
if justDetection == true and detectionBlock.name == "minecraft:air" then
block_name = true
elseif justDetection == true and detectionBlock.name ~= "minecraft:air" then
block_name = false
else
end
end
end
end