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

Netlogo将一组补丁分配给自己的品种变量,netlogo,Netlogo,我对netlogo非常陌生,我想知道如何将一组补丁设置为特定品种的自有变量。例如,假设我有: breed [ buildings building ] buildings-own [ my-patches ] 我希望能够有一组面片(比如一个矩形,受某些坐标约束),分配给每个建筑的“我的面片”字段。我该怎么做呢?首先你需要知道的是,你不能有各种各样的补丁。虽然你没有说那是你想要的,但我只是想确保你知道这一点 看看这个代码。这是一个完整的程序,创建一些海龟(称为房地产经纪人),并为每个海龟分配一些

我对netlogo非常陌生,我想知道如何将一组补丁设置为特定品种的自有变量。例如,假设我有:

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

我希望能够有一组面片(比如一个矩形,受某些坐标约束),分配给每个建筑的“我的面片”字段。我该怎么做呢?

首先你需要知道的是,你不能有各种各样的补丁。虽然你没有说那是你想要的,但我只是想确保你知道这一点

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

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

您可以通过创建“设置”按钮或在命令中心键入设置来运行它。

欢迎使用Stack Overflow和Netlogo!鉴于您的品种和
建筑拥有的
如上所述,您可以简单地使用
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
设置
ca
使用[pxcor mod 10=0和pycor mod 10=0]询问补丁程序[
萌芽大厦1[
设置形状为“方形”
设置标题0
套装尺寸1.5
将我的修补程序设置为[
pxcor>[pxcor]我自己-3和
pxcor<[pxcor]我自己+3和
pycor>[pycor]我自己-3和
pycor<[pycor]我自己+3
]
问我的补丁[
设置我自己的颜色-2
]
]
]
重置滴答声
结束

谢谢!有没有一种方法可以为每栋建筑分配一个唯一的id?不客气!所有建筑物都有一个唯一的
who
标识符(请尝试
询问建筑物[显示谁]
),该标识符是根据建筑物的创建顺序分配的。但是,如果您想要更精确地控制xy位置和特定位置的名称,我的答案可能适合您。如果您试图表示真实世界的建筑,您可能希望进入下面的
GIS
扩展(但这更复杂,并且使用shapefile指定名称/值)。