Netlogo 为什么过了一段时间哈奇恩就停了?

Netlogo 为什么过了一段时间哈奇恩就停了?,netlogo,Netlogo,大家早上好 编辑我的模型后,通过添加随机繁殖率: to migrate if random-float 100 < random-spawn-rate [create-turtles 2 [rt random-float 360 fd 1]] end 迁移 如果随机浮动100

大家早上好

编辑我的模型后,通过添加随机繁殖率:

to migrate
  if random-float 100 < random-spawn-rate
  [create-turtles 2 [rt random-float 360 fd 1]]
end
迁移
如果随机浮动100<随机繁殖率
[创建海龟2[rt随机浮动360 fd 1]]
结束
我的问题是,在一种海龟(船)灭绝后,甚至它们随机孵化的海龟似乎也灭绝了? 我试过其他的方法,但都不管用

请帮帮我 多谢各位

完整代码:

breed [fish a-fish]
breed [boats boat]
boats-own [profit]

to setup
  clear-all
  ask patches [set pcolor blue]

  set-default-shape fish "fish"
  create-fish initial-number-fish
  [
    set color grey
    set size 1.0
    setxy random-xcor random-ycor
  ]

  set-default-shape boats "boat"
  create-boats initial-number-boats
  [
    set color black
    set size 1.5
    set profit random (1 * profit-per-fish)
    setxy random-xcor random-ycor
  ]
  reset-ticks
end

to go
  if not any? turtles [stop]
  ask fish
   [
    move
    fish-reproduce
   ]
   ask boats
   [
     move-boats
     catch-fish
     death
     reproduce-boats
     migrate
   ]
   tick
end

to move
  rt random 50
  lt random 50
  fd 1
end


to fish-reproduce
  if random-float 100 < fish-growth
  [hatch 1 [rt random-float 360 fd 1]]
end

to move-boats
   rt random 50
  lt random 50
  fd 1
  set profit profit - 0.1
end

to catch-fish
  let prey one-of fish-here
  if prey != nobody
  [ask prey [die]
    set profit profit + profit-per-fish]
end

to death
  if profit < 0 [die]
end

to reproduce-boats
  if profit > 1
  [
    set profit (profit / 2)
    hatch 1 [rt random-float 360 fd 1]]
end


to migrate
  if random-float 100 < random-spawn-rate
  [create-turtles 2 [rt random-float 360 fd 1]]
end
养殖[鱼与鱼]
繁殖[船]
自有[利润]
设置
清除所有
询问补丁[设置颜色为蓝色]
设置默认形状鱼“鱼”
创建fish初始编号fish
[
设置颜色为灰色
设置大小为1.0
setxy随机xcor随机ycor
]
将默认形状设置为“船”
创建船只初始编号船只
[
将颜色设置为黑色
套装尺寸1.5
随机设置利润(每条鱼1*利润)
setxy随机xcor随机ycor
]
重置滴答声
结束
外带
如果没有?乌龟[停]
问鱼
[
移动
鱼繁殖
]
问船
[
划船
捕鱼
死亡
复制船只
迁移
]
打上钩
结束
移动
rt随机50
lt随机50
fd 1
结束
鱼繁殖
如果随机浮动100<鱼类生长
[舱口1[rt随机浮动360 fd 1]]
结束
划船
rt随机50
lt随机50
fd 1
设定利润-0.1
结束
捕鱼
让我们在这里捕食一条鱼吧
如果是猎物!=没有人
[问猎物[死]
设定利润+每条鱼的利润]
结束
至死
如果利润<0[死亡]
结束
复制船只
如果利润>1
[
设定利润(利润/2)
图案填充1[rt随机浮动360 fd 1]]
结束
迁移
如果随机浮动100<随机繁殖率
[创建海龟2[rt随机浮动360 fd 1]]
结束

如果没有可以孵化新船的船,则不会创建更多的船。你的舱口取决于船的数量

基本上,对于一艘船:

if profit > 1
  [
    set profit (profit / 2)
    hatch-boat 1 ...
   ]

每产一艘船,你就把利润减半。除非您的利润增长或保持不变,否则您的船将最终消亡,因为不再孵化。

当船创建停止时,您是否仍然有鱼?是的,仍然有鱼,但船的数量消失了。我成功了,谢谢:)