如何在NetLogo中限制修补程序中的海龟数量

如何在NetLogo中限制修补程序中的海龟数量,netlogo,Netlogo,我想限制每个补丁的海龟数量。我想,如果我按照(1)和(2)条件限制海龟的移动,它将限制每个补丁的海龟数量,但我为此尝试的任何代码到目前为止都不起作用 让我们假设Y区有五只海龟,五只是极限 1) 要求站在补丁X前面的海龟停止移动,直到补丁Y上有五只海龟为止(见图) 2) 如果补丁z上的海龟少于五(5)只,则要求站在补丁Y前面的海龟向前移动到补丁z(见图),否则停止 最后,我使用下面的简单代码 let turtles-ahead other turtles in-cone speed 90

我想限制每个补丁的海龟数量。我想,如果我按照(1)和(2)条件限制海龟的移动,它将限制每个补丁的海龟数量,但我为此尝试的任何代码到目前为止都不起作用

让我们假设Y区有五只海龟,五只是极限

1) 要求站在补丁X前面的海龟停止移动,直到补丁Y上有五只海龟为止(见图)

2) 如果补丁z上的海龟少于五(5)只,则要求站在补丁Y前面的海龟向前移动到补丁z(见图),否则停止

最后,我使用下面的简单代码

  let turtles-ahead other turtles in-cone speed 90
  let turtle-ahead min-one-of turtles-ahead [distance myself]
  ifelse turtle-ahead != nobody
  [
      set speed [speed] of turtle-ahead
      slow-down
  ]
  [speed-up]
这段代码只是要求海龟们在另一个模式或队列后面移动,但它不能帮助我限制每个补丁的海龟数量,不管限制是4,5,6,7,8。。。我已经在“go”程序中发芽了海龟(根据我的需要,每个补丁1只海龟)。海龟是在一组特定的斑块上生长的,而不是在全世界。所以慢慢地,海龟的数量开始增加,并在世界各地移动,在一定数量的蜱之后,它们被要求离开指定的区域,然后死亡。现在它有时显示10,11,。。。。37只或以上的海龟在某些补丁上,我想实际上停止

我已经检查了每个补丁一个海龟,其他代码示例和许多其他来自互联网的帮助,但没有结果


如有任何其他想法或帮助,我将不胜感激。请帮帮我。

我想你想让海龟们评估一下
海龟们试图移动到的补丁的
数量。考虑这个简单的例子:

to setup
  ca
  ask n-of 15 patches with [ pycor = 0 ] [
    sprout 3 [
      set heading 90 
    ]
  ]
  reset-ticks
end

to go
  ask turtles [
    if ( count [turtles-here] of patch-ahead 1 ) < 5 and xcor < 16 [
      fd 1
    ]
  ]
  print [count turtles-here] of patches with [ any? turtles-here ]
  tick
end
设置
ca
使用[pycor=0]询问15个修补程序中的n个[
萌芽3[
设置标题90
]
]
重置滴答声
结束
外带
问海龟[
如果(计算前面1个补丁的[海龟]数)<5且xcor<16[
fd 1
]
]
用[any?turtles here]打印[count turtles here]补丁
打上钩
结束

在每个刻度上,
xcor
小于16的海龟(仅为本例设置一个停止)都会检查
patch ahead 1
,查看该补丁上的海龟数量。如果计数小于5,海龟将移动到该区域。否则,乌龟什么也不做

我想你应该让海龟们评估
海龟们的
数量
,它们试图移动到的补丁。考虑这个简单的例子:

to setup
  ca
  ask n-of 15 patches with [ pycor = 0 ] [
    sprout 3 [
      set heading 90 
    ]
  ]
  reset-ticks
end

to go
  ask turtles [
    if ( count [turtles-here] of patch-ahead 1 ) < 5 and xcor < 16 [
      fd 1
    ]
  ]
  print [count turtles-here] of patches with [ any? turtles-here ]
  tick
end
设置
ca
使用[pycor=0]询问15个修补程序中的n个[
萌芽3[
设置标题90
]
]
重置滴答声
结束
外带
问海龟[
如果(计算前面1个补丁的[海龟]数)<5且xcor<16[
fd 1
]
]
用[any?turtles here]打印[count turtles here]补丁
打上钩
结束
在每个刻度上,
xcor
小于16的海龟(仅为本例设置一个停止)都会检查
patch ahead 1
,查看该补丁上的海龟数量。如果计数小于5,海龟将移动到该区域。否则,乌龟什么也不做