如何在 repeat until 循环后设置变量?

我对我的代码有一个疑问,目前我不能测试它,所以我想问一下(为了方便理解,我很新手)。希望我没有提出重复的问题或任何类似的问题。

这是我的当前代码

write("Column: ")
local column = tonumber( read() )
write("Row: ")
local row = tonumber( read() )
local x = 0
local y = 0

function digforward(str)
    repeat
        turtle.dig()
        turtle.forward()
        x = x+1
    until x == column

因此,在 repeat until 循环结束后,我应该怎么做才能将变量 x 回归到 0?我知道 x = 0 通常会实现它,但我希望当你运行函数时,它会一直进行,直到 x = column,然后将 x 设置为 0。

另外,只是为了让你知道,这是一个游戏中的计算机代码。 (来自于 Minecraft 的计算机模块 Computercraft)

点赞
用户4984564
用户4984564

在这种情况下,最好使用数字 for 循环:

for x = 1,column do
   turtle.dig()
   turtle.forward()
end

另外:

for x = 1,column do
   while not turtle.forward() do
      turtle.dig()
   end
end

这样可以确保 turtle 在成功移动之前重试,例如当沙块在挖掘后立即掉落时。如果敌人阻挡了移动,您还可以进行攻击以确保安全。

2021-01-20 18:30:18