我如何让海龟在 netlogo 中识别其他同品种的海龟?

Jes*_*001 1 netlogo

我正在尝试在 netlogo 中构建一个多物种模型。所有海龟都有相同的运动协议,但他们的决定是基于同种密度(它们在一个补丁中的品种数量),而不是完整的海龟数量。有没有办法让他们认出自己品种的成员,而无需在这里特别说计数品种

我想它会是这样的

 count breed(self?)-here
Run Code Online (Sandbox Code Playgroud)

但这不是 netlogo 语法。我希望他们:1) 计算当前补丁的品种数量 2) 计算半径 x 补丁的品种数量

最终目标是为所有品种制定一个单一的运动协议以供参考(而不是每个品种都有一个单独的运动协议)。

提前致谢!

Rya*_*yan 5

我想如果您只想返回代理集而不是计数,它应该像这样工作:

to-report breed-in-radius [x]
  report other breed in-radius x ;breed is *this* turtle's breed
end
Run Code Online (Sandbox Code Playgroud)

请注意,因为in-radius仅是turtle/patch(并且因为我们直接引用了turtle 变量),所以这需要在turtle 上下文中调用。