0

为了编写快速的海龟程序,我想知道关于滴答声,代码是如何执行的?除了海龟移动所需的时间之外,执行函数或评估其他 Lua 语句是否存在滴答惩罚?换句话说,是否需要相同的时间来执行此操作(假设 if 语句评估为假):

turtle.forward()
if turtle.getFuelLevel() == 0 then turtle.refuel() end
turtle.forward()

这个:

turtle.forward()
if x < 20 then turtle.refuel() end
turtle.forward()
x = x+1

turtle.forward()
turtle.forward()

? 谢谢

编辑:

根据 Eric 的说法,任何与 Minecraft 接口的东西都可能会受到影响,但原始 Lua 的操作不会。换句话说,第一个例子需要 2 个额外的记号(除了多记号移动),第二个需要 1 个额外的记号,最后一个没有额外的记号。

4

1 回答 1

0

通常,唯一会触发某种滴答声或导致滴答声经过大量停止的是拉动事件(os.pullEvent,os.pullEventRaw,coroutine.yield)海龟运动当然需要滴答声过去,并调用 coroutine.yield 来暂停脚本并移动。

计算机工艺技术方面的问题是,那些接近 mod 本身并对其了解很多的人会更好地回答它们。经常使用 SO 的人并不多有这种知识。如果你想知道一切,我会在 CC 论坛上询问。

于 2015-06-16T13:43:06.323 回答