向代理集添加修补程序并从代理

时间:2015-10-04 03:55:08

标签: netlogo

我对netlogo agentset操作寻求帮助有疑问,thx。

  1. 我想在全局代理集变量mypatches中添加一个补丁,比如补丁。在乌龟程序中写入的正确方法是什么?我尝试了以下但是它不起作用:

    set mypatches (patch-set mypatches patch-here)
    
  2. 我想从全局代理集变量mypatches中删除一个补丁,比如补丁。在乌龟程序中写入的正确方法是什么?以下代码不起作用,因为一个运算符假定从mypatches中删除self(这是一个乌龟),但我想要的是从mypatches中删除补丁。

    set mypatches one-of mypatches
    

1 个答案:

答案 0 :(得分:1)

追加补丁

patch-set需要一个补丁代理集,所以你必须这样做 在添加第一个补丁之前,将mypatches初始化为空集:

set mypatches no-patches

删除补丁

您可以使用with进行过滤:

set mypatches mypatches with [[patch-here] of myself != self]

也许更优雅,而不是那么“自我混淆”的解决方案是让patch-here使用other来执行此操作:

ask patch-here [set mypatches other mypatches]