当乌龟改变它的方向时,我需要同时学习。也就是说,当海龟改变它的方向时,一个过程或一个报告器将改变一个布尔值。但是这个记者不会被任何其他程序调用,它会在海龟移动时一直运行(检查海龟的航向)。在 NetLogo 中有什么办法吗?
问问题
478 次
1 回答
1
我认为您可以使用“永久”按钮实现与您想要的类似的功能:即,一个不断运行程序的按钮。(人们通常在他们的模型中至少有一个这样的按钮,通常命名为“go”。)
假设您要跟踪的标题是 的turtle 0
,您可以使用如下代码:
globals [
current-heading
heading-has-changed
]
to check-heading-changes
if [ heading ] of turtle 0 != current-heading [
set heading-has-changed true
set current-heading [ heading ] of turtle 0
]
end
要让check-heading-changes
代码持续运行,您只需从“永远”按钮调用它:
当您要开始监控时,您必须记住单击永久按钮。现在,当然,上面的代码还假设您将运行一些其他控制海龟的程序,并且当heading-has-changed
变成时,它实际上会做一些事情(并重置变量) true
。
于 2012-08-01T19:20:18.857 回答