限制圈出的海龟数量

时间:2020-05-12 09:49:42

标签: visualization netlogo

NetLogo新手在这里。我试图限制在一个圆圈中产卵的海龟的数量,以使海龟不会彼此重叠。到目前为止,我已经尝试了this question中的方法,该方法列出了所有补丁,并且每个补丁都生成了海龟,但是对于我的圈子来说,仍然有太多的海龟。出于好奇,我尝试仅在turtle number mod PRIME NUMBER0时才产卵,但是不仅有两只乌龟产卵了,还有更多!在我看来,补丁本身并不重要,因为我的模型并不是真正的空间模型。 resize-worldset-patch-size的存在是为了保持大小一致,因为没有它们,可视化效果将变得很小,而且我还不知道如何将其重置。

这是我的最低工作示例:

breed [people person]

to setup
  clear-all
  make-people
end

to make-people
  resize-world 0 30 0 30
  set-patch-size 20
  ask patches
  [
    ask people
    [
      set shape "circle"
    ]
    sprout-people (1)
    layout-circle people 15
  ]
end

这是它产生的东西:

What the visualisation looks like so far

我如何使海龟间隔开而不是被挤在一起?

1 个答案:

答案 0 :(得分:2)

您的基本问题是每个补丁都在创建一个人(sprout),然后将其放置到圈子中。共有三种创建乌龟代理的命令,sprout是修补程序创建乌龟的位置,通常用于控制新乌龟的位置。由于空间对您没有意义,因此更好的方法是使用create命令并简单地指定所需的数量,增加或减少数量,直到间隔满足您的需求。尝试一下,然后更改50,直到获得所需的东西。

to make-people
  create-people 50
  [ set shape "circle"
  ]
  layout-circle people 15
end

关于世界的大小-您可以转到界面并使用“设置”下拉框设置所需的尺寸。