你如何在 NetLogo 上的多个位置生成多只海龟?

How do you spawn multiple turtles in multiple locations on NetLogo?

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

    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)
  ]

结束

这是我所有的,并且只在最后一个位置生成海龟。任何帮助都会很棒,谢谢。

问题是每个 ask turtles 都适用于到那时为止已创建的所有海龟。所以,真正发生的是,最初创建并放置在 0,0 的第一批海龟,然后被要求与第二批海龟一起移动到 -80 0,然后被要求移动(连同第二批海龟batch of turtles) to 80 0 随着第三批创建。您想要的是让 setxy 和其他请求适用于 正在创建的批次。看起来像

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 后方括号中的命令 应用于正在创建的海龟。因此,您可以让不同蜂巢中的蜜蜂具有不同的颜色或大小。

一个问题和一个观察。我假设您的世界大小可容纳 +-80 的 x 坐标? set xy_list (list) 可以简单地是 set xy_list [].

顺便说一下,另一种方法是让蜂巢 sprout 蜜蜂。例如,

ask patch 0 0 [
  set pcolor brown
  sprout number-of-bees 
    [
    set size 1.5 
    set color red
    set xy_list []
    ]
]