【发布时间】:2012-08-01 13:56:21
【问题描述】:
当乌龟改变它的方向时,我需要同时学习。也就是说,当海龟改变它的方向时,一个程序或一个报告器将改变一个布尔值。但是这个记者不会被任何其他程序调用,它会在海龟移动时一直运行(检查海龟的航向)。 NetLogo 中有没有这样的方法?
【问题讨论】:
标签: netlogo
当乌龟改变它的方向时,我需要同时学习。也就是说,当海龟改变它的方向时,一个程序或一个报告器将改变一个布尔值。但是这个记者不会被任何其他程序调用,它会在海龟移动时一直运行(检查海龟的航向)。 NetLogo 中有没有这样的方法?
【问题讨论】:
标签: netlogo
我认为您可以使用“永久”按钮实现类似于您想要的效果:即,一个不断运行程序的按钮。 (人们通常在他们的模型中至少有一个这样的按钮,通常命名为“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 时,它实际上会做一些事情(并重置变量)。
【讨论】: