【问题标题】:How to kill all turtles at once in the NetLogo?如何在 NetLogo 中一次杀死所有乌龟?
【发布时间】:2021-06-08 15:15:09
【问题描述】:

我有一个 300x300 的世界,每个单元格为 10m。我使用 sprout 命令为每个补丁生成 1 个海龟。每个海龟执行一系列程序,将结果写入补丁并死亡。但是在死亡时,使用“die”命令时会同时死亡 1 只海龟。有什么办法可以一次性杀死所有创建的海龟?

提前致谢

【问题讨论】:

  • 谢谢,但是当我使用: to proc1 ask turtles [ set ene (ene - euse) ask my-home [ set energy-of-my-agent [ ene ] of my-agent ] if outputData ? = true [ outputData-1 ] ;die ] clear-turtles end 出现:你不能在海龟上下文中使用 proc1,因为 proc1 是仅观察者。
  • 您应该将代码添加到问题中。 clear-turtles 在观察者上下文中运行,这意味着它使您的 proc1 也在观察者上下文中运行,但是您是从 ask 块内的某个位置调用它,这会将其置于海龟上下文中。您必须从海龟上下文外部调用它或将 clear-turtles 移动到代码中的其他位置(我无法建议,因为我看不到它)。

标签: netlogo


【解决方案1】:

来自观察者上下文。

ask turtles [die]

来自代理上下文。

ask other turtles [die] die

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多