如何在NetLogo的多个位置产卵多只海龟?

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

我正在创建一个模拟,该模拟在该区域周围有多个蜂巢,这些蜂巢用棕色斑点表示。我希望多只海龟在设置时在所有蜂箱上产卵,但是使用我的代码时,它只能在一个蜂巢中产卵。我一直在尝试使用预设坐标。

    to setup-bees

  create-turtles number-of-bees
  ask turtles [ setxy 0 0 ]
  ask turtles [ set pcolor brown ]
  ask turtles [ set size 1.5 ]
  ask turtles [ set color red]
  ask turtles [
  set xy_list (list)
  ]

    create-turtles number-of-bees
  ask turtles [ setxy -80 0 ]
  ask turtles [ set pcolor brown ]
  ask turtles [ set size 1.5 ]
  ask turtles [ set color red]
  ask turtles [
  set xy_list (list)
  ]

      create-turtles number-of-bees
  ask turtles [ setxy 80 0 ]
  ask turtles [ set pcolor brown ]
  ask turtles [ set size 1.5 ]
  ask turtles [ set color red]
  ask turtles [
  set xy_list (list)
  ]

结束

这就是我所拥有的,只会在最后一个位置生成海龟。谢谢您的帮助。

netlogo
1个回答
0
投票

问题是,每个ask turtles都适用于到那时为止创建的所有海龟。因此,真正发生的是,最初创建并放置在0,0的第一批乌龟随后被要求与第二批乌龟一起移至-80 0,然后要求移动(以及第二批乌龟一批海龟)到80 0并创建了第三批。您想要的是将setxy和其他要求应用于正在创建的批次[[only。看起来像

turtles-own [xy_list] globals [number-of-bees] to setup-bees clear-all set number-of-bees 10 create-turtles number-of-bees [ setxy 0 0 set pcolor brown set size 1.5 set color red set xy_list (list) ] create-turtles number-of-bees [ setxy -80 0 set pcolor brown set size 1.5 set color red set xy_list (list) ] create-turtles number-of-bees [ setxy 80 0 set pcolor brown set size 1.5 set color red set xy_list (list) ] end
每个create-turtles之后括号中的命令将

only

应用于正在创建的海龟。这样一来,您可能会在不同的蜂巢中拥有不同的颜色或大小的蜜蜂。一个问题和一个观察。我假设您的世界大小可以容纳+ -80的x坐标?并且set xy_list (list)可以简单地是set xy_list []

希望这会有所帮助,查尔斯

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