Проблема в том, что каждый из ask turtles
относится ко всем черепахам, которые были созданы до этого момента. Итак, что действительно происходит, так это то, что первая партия черепах, первоначально созданная и помещенная в 0,0, затем просится перейти к -80 0 вместе со второй партией черепах, а затем попросится переместиться (вместе со второй партия черепах) до 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? И 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 []
]
]
Надеюсь, это поможет, Чарльз