如果我写:
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”之后还是之前完成的?
答案 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
),模型的基础状态就会更新。