【问题标题】:reporting changes of turtle heading in NetLogo在 NetLogo 中报告海龟航向的变化
【发布时间】:2012-08-01 13:56:21
【问题描述】:

当乌龟改变它的方向时,我需要同时学习。也就是说,当海龟改变它的方向时,一个程序或一个报告器将改变一个布尔值。但是这个记者不会被任何其他程序调用,它会在海龟移动时一直运行(检查海龟的航向)。 NetLogo 中有没有这样的方法?

【问题讨论】:

标签: netlogo


【解决方案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 时,它实际上会做一些事情(并重置变量)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-29
    • 2020-08-09
    • 2018-04-11
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多