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