补丁集的 netlogo 最大和最小 pxcor 和 pycor

netlogo max and min pxcor and pycor of a patch-set

我需要找到,对于给定的补丁集(它总是一个正方形),pxcor 和 pycor 的最大值和最小值,以获得像

这样的列表
[0 10 10 0]

表示由点

包围的正方形
(0,0), (10,0), (0,10), (10,10)

所以我需要我 mathod 将补丁集和 returns 列表作为示例中的列表作为输入。

给定一个名为 p-set 的补丁集,你可以使用这个报告器:

to-report get-max-min [p-set]

   let coord []

   ask one-of p-set with-min [pxcor] [set coord lput pxcor coord]
   ask one-of p-set with-max [pxcor] [set coord lput pxcor coord]
   ask one-of p-set with-min [pycor] [set coord lput pycor coord]
   ask one-of p-set with-max [pycor] [set coord lput pycor coord]

   report coord

end

用法示例: 我想用 pcolor = red

获取补丁的坐标
let coord get-max-min (patches with [pcolor = red])

我能想到的最简单的方法是:

to-report get-max-min [p-set]
  let xs [pxcor] of p-set
  let ys [pycor] of p-set
  report (list min xs max xs
               min ys max ys)
end