我正在尝试创建一个以网格原点为中心的正方形棕色补丁。以前,我在界面上有一个名为“sink-patch-radius”的滑块,从 0 到 20。然后在我的代码中,我创建了一组以原点为中心的圆形补丁,颜色为棕色 + 2,半径为“sink-patch-radius”,周围的补丁是绿色的。这是为此工作的代码(感谢 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”,以便调整正方形边的长度。然后我的问题是:如何将其合并到我的代码中,以便我得到一个以原点为中心的棕色补丁?例如,如果“sink-patch-length”设置为 20,那么我希望以原点为中心的 20x20 正方形(400 个单元格)的 pcolor 为 brown + 2。
任何帮助是极大的赞赏!谢谢你。