我正在尝试创建一个以我的网格原点为中心的棕色补丁正方形。以前,我在名为“ sink-patch-radius”的界面上有一个滑块,范围从0到20。然后在我的代码中,我创建了一个圆形的补丁集,其中心为原点,颜色为棕色+ 2,半径为“水槽补丁半径”,周围的补丁是绿色的。这是适用于此的代码(感谢JenB!):
;;create the 'sink'
let sink-centre patch 0 0
set sink-patches [patches in-radius sink-patch-radius] of sink-centre
ask sink-patches [ set pcolor brown + 2 ]
;; create the 'source'
set source-patches patches with [pcolor != brown + 2]
ask source-patches [ set pcolor green ]
所以现在,我希望这个想法保持不变,但我希望它不是正方形的“下沉区”。我知道上面的代码将不得不更改,甚至可能需要更改很多,因为您不能使用“半径”来形成一个正方形。我正在考虑也许将滑块更改为“接收器-补丁-长度”,以便调整正方形边的长度。然后我的问题是:如何将其合并到代码中,以便获得以原点为中心的棕色补丁正方形?例如,如果“ sink-patch-length”设置为20,则我希望以原点为中心的20x20正方形(400个单元)的pcolor为brown + 2。
任何帮助将不胜感激!谢谢。
答案 0 :(得分:1)
使用内置坐标系。因此,您想要(类似)patches with [abs(pxcor) <= sink-patch-length and abs(pycor) <= sink-patch-length]
。如果您希望它居中而不是居中,则需要进行一些摆弄以使边界正确。