Netlogo将一组补丁分配给一个品种的变量

时间:2017-07-28 20:27:35

标签: netlogo

我对netlogo很新,我想知道如何将一组补丁设置为某个品种的自己的变量。例如,让我说我有:

breed [ buildings building ]
buildings-own [ my-patches ]

我希望能够有一组补丁(让我们说一个矩形,因此受某些坐标约束),这些补丁被分配给每个单独建筑物的my-patches字段。我该怎么做?

2 个答案:

答案 0 :(得分:2)

您需要知道的第一件事是您不能拥有补丁品种。虽然你不能说出你想要的东西,但我只是想确保你知道这一点。

看看这段代码。这是一个完整的程序,可以创建一些海龟(称为房地产经纪人),并为每个海龟分配一些补丁。然后它将这些补丁变为与房地产经纪人相同的颜色。

breed [realtors realtor]
realtors-own [my-patches]

to setup
  clear-all
  create-realtors 10
  [ setxy random-xcor random-ycor
    set size 2
    set shape "circle"
    set my-patches n-of 5 patches in-radius 3
  ]
  ask realtors [ask my-patches [set pcolor [color] of myself ] ]
  reset-ticks
end

您可以通过创建按钮来设置'设置'或者只需在命令中心输入设置。

答案 1 :(得分:1)

欢迎使用Stack Overflow和Netlogo!鉴于您的品种和上述buildings-own,您只需使用set分配您希望建筑物patch-set变量保留的my-patches

to setup
  ca
  ask patches with [ pxcor mod 10 = 0 and pycor mod 10 = 0 ] [
    sprout-buildings 1 [ 
      set shape "square"
      set heading 0
      set size 1.5
      set my-patches patches with [ 
        pxcor > [pxcor] of myself - 3 and
        pxcor < [pxcor] of myself + 3 and 
        pycor > [pycor] of myself - 3 and
        pycor < [pycor] of myself + 3
      ]
      ask my-patches [
        set pcolor [color] of myself - 2
      ]
    ]
  ]
  reset-ticks
end