Installation 如何在netlogo中随机设置补丁,但不让它们相互接触?

Installation 如何在netlogo中随机设置补丁,但不让它们相互接触?,installation,netlogo,patch,Installation,Netlogo,Patch,我正在尝试设置我的补丁,使它们不会相互接触,而是随机放置 现在,使用下面的代码,他们按照我想要的比例设置颜色,但不是随机放置: to setup-patches ask n-of number-of-patches patches [ ifelse neighbors4 = green [ set pcolor black ] [ set quality (random 10) set pcolor scale-color green quality 0 10]

我正在尝试设置我的补丁,使它们不会相互接触,而是随机放置

现在,使用下面的代码,他们按照我想要的比例设置颜色,但不是随机放置:

to setup-patches
  ask n-of number-of-patches patches
  [ ifelse neighbors4 = green
    [ set pcolor black ]
    [ set quality (random 10)
    set pcolor scale-color green quality 0 10] ]

有没有关于如何做到这一点的帮助?

我认为您需要使用
Any?
shade of?
原语,让每个补丁检查它们的邻居是否不仅有绿色,还有绿色。另外请注意,如果您使用
random 10
设置质量,那么补丁的质量将介于0到9之间,因为NetLogo的
random
不包括在内。因此,为了可视化,您可能希望以稍微不同的方式缩放质量(如下例所示)

给你一些类似于:

patches-own [ quality ]

to setup
  ca
  ask n-of 400 patches [ 
    ifelse any? neighbors4 with [ shade-of? pcolor green ] [ 
      set pcolor black 
    ] [ 
      set quality 2 + random 7
      set pcolor scale-color green quality 0 10] 
  ]
  reset-ticks
end