什么时候使用setxy改变龟的坐标变得有效?

时间:2015-08-21 17:14:20

标签: coordinates netlogo

如果我写:

to go
some code...
ask turtles[
    turtle-function
]
tick
end
;;previous coordinates : 2 2
to turtle-function
    setxy 3 5
    ask patch-at 1 0
    [
        some code...
    ]

end

“patch-at 1 0”得到(4 5)作为坐标还是得到(3 2)作为坐标?

重点是:坐标'更新是在“tick”之后还是之前完成的?

1 个答案:

答案 0 :(得分:2)

很容易自己找出来。如果你替换:

ask patch-at 1 0
[
    some code...
]

使用:

ask patch-at 1 0
[
    print self
]

你得到:

(patch 4 5)

我想你可能会因为when using tick-based view updates这个事实而感到困惑,在调用tick(或display)之前视图不会更新。但在这种情况下,只有模型的可视化表示才会延迟。一旦运行具有副作用的命令(例如setxy),模型的基础状态就会更新。