Нетлого, Отрождение другой породы - PullRequest
2 голосов
/ 06 июня 2019

Я работаю над моделью, которая состоит из группы узлов, которые связаны ссылками.Первоначально существует два типа агентов, скажем, желтые пчелы и сборщики.Мои сборщики находят узел, на котором находятся пчелы, путешествуют к нему и собирают пчел. (Модель работает так, когда сборщик достигает узла, на котором находится пчела, убивает пчелу и переменную, принадлежащую собирателю, собранные пчелы будут обновлены на 1).Далее сборщик отправится к какому-то узлу, давайте сядем на узел с ульем.На данный момент я хочу создать новую породу, скажем, новую разновидность пчел, то есть красных пчел.Проблема возникает потому, что только наблюдатель может создать новую породу, а не коллекционер.Штриховка также не будет работать, потому что это создаст больше коллекционеров, а не новую красную пчелу.Есть идеи как решить это?

breed [yellow-bees yellow-bee]
breed [collectors collector]
breed [red-bees red-bee]
breed [nodes node]
breed [hives hive]

collectors-own [bees-collected current-node]
nodes [hive-present]

to go
...
...
ask collectors[

if current-node = nodes with [hive-present = True][
create-red-bees bees-collected
]
]

1 Ответ

4 голосов
/ 06 июня 2019

Штриховка будет работать , если вы используете hatch-<breeds> версию команды, которая, как упомянуто в словаре NetLogo , создаст новых черепах данной породы.

Вот пример:

breed [collectors collector]
breed [red-bees red-bee]

to setup
  clear-all
  create-collectors 10
  ask collectors [
    hatch-red-bees 1
  ]
  print count red-bees
end
...