feat(mystical-upgrader): improve moves

This commit is contained in:
Guillaume ARM 2024-05-25 22:35:15 +02:00
parent 55c8e44a27
commit 3181d68839

View File

@ -59,31 +59,29 @@ local refuel = function()
end
end
local goToTheLeft = function()
turtle.turnLeft()
local ok, reason = turtle.forward()
if not ok then
error('cannot forward because ' .. tostring(reason), 0)
end
turtle.turnRight()
end
local goToTheRight = function()
turtle.turnRight()
local ok, reason = turtle.forward()
if not ok then
error('cannot forward because ' .. tostring(reason), 0)
end
turtle.turnLeft()
end
local MOVES = {
left = goToTheLeft,
right = goToTheRight,
left = function(strictMode)
turtle.turnLeft()
local ok, reason = turtle.forward()
if strictMode and not ok then
error('cannot forward because ' .. tostring(reason), 0)
end
turtle.turnRight()
return ok, reason
end,
right = function(strictMode)
turtle.turnRight()
local ok, reason = turtle.forward()
if strictMode and not ok then
error('cannot forward because ' .. tostring(reason), 0)
end
turtle.turnLeft()
return ok, reason
end,
}
local getTierFromLevel = function(level)
@ -262,7 +260,9 @@ local main = function()
upgradeProcedure()
if i ~= NB_ROWS then
MOVES[DIRECTION]()
MOVES[DIRECTION](true)
else
MOVES[DIRECTION](false) -- do not throw if cannot move forward
end
end