Функция Netlogo Help — neighbors

#netlogo

#netlogo

Вопрос:

Я новичок в Netlogo и пытаюсь создать простую модель, чтобы при создании отдельного пользователя он должен быть помещен в патч, который находится рядом с родительским (в одном из 8 пробелов). Я думаю, что мне нужно использовать команду one-of neighbours и sprout, но я не уверен, как это сделать.

В настоящее время у меня есть что-то подобное в моем коде:

 to birth-death
  set npop count turtles
  ask turtles [
    if random-float 1.0 < dt * r [
      set i random-pxcor
      set j random-pycor
      ask patch i j [set lpop count turtles-here]
      if lpop = 0 [
        hatch 1 [
          set color green
          set xcor i
          set ycor j
        ]
      ]
    ]
    if random-float 1.0 < dt [ die ]
  ]
end
 

Который устанавливает черепаху в случайном месте, но я не уверен, что написать, чтобы при рождении человека он знал, что нужно выбрать одного из восьми соседей родительского сайта, чтобы добавить новую черепаху.

Ответ №1:

Вы близко. Когда черепаха рождается (создается с hatch помощью команды), она создается в том же патче, что и родительский. Поэтому вам просто нужно переместить его в один из соседних патчей, где он уже есть. Вместо:

 hatch 1
[ set color green
  set xcor i
  set ycor j
]
 

Использование:

 hatch 1
[ set color green
  move-to one-of neighbors
]