限制一圈内产卵的龟的数量。

问题描述 投票:0回答:1

我是一个NetLogo新手。我正试图限制在一个圆圈中产生的海龟数量,以便海龟不会相互叠加。到目前为止,我已经尝试了以下的方法 这个问题在这里有一个所有补丁的列表,每个补丁都会有海龟产卵,但对于我的圈子来说,海龟还是太多了。出于好奇,我试着只在以下情况下产卵 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

我怎样才能让海龟的间距变大,而不是挤在一起?

visualization netlogo
1个回答
2
投票

你的基本问题是,每个补丁都在创建一个人(sprout),然后将其放入圆圈中。有三个不同的命令用于创建海龟代理。sprout 是一个补丁创建乌龟的地方,通常用来控制新乌龟的位置。由于空间对你没有意义,更好的方法是使用 create 命令,并简单地指定你想要的数量,增加或减少数量,直到间距满足你的需求。试着这样做,改变50,直到你得到你想要的东西。

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

对于世界的大小--你可以进入界面,使用设置下拉框来设置你想要的尺寸。

© www.soinside.com 2019 - 2024. All rights reserved.