Как заставить черепашек в определенной (неизвестной) точке что-то делать в netlogo?

avatar
Amber
8 апреля 2018 в 09:26
57
1
0

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

Я пытался использовать at-point, но дело в том, что положение синих черепах случайное, поэтому оно неизвестно.

Поэтому я попробовал кое-что еще, но это тоже не сработало.

ask food [ask n-of count ants-on food [set blessed true]]

Я также пробовал это:

ask food [ask ants in-radius 1 [set blessed true]]

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

Также

 ask ants [if ants-on food [set blessed true]]

Не работает.

Есть ли у кого-нибудь предложения?

Источник
JenB
8 апреля 2018 в 16:24
2

как на самом деле определяется неизвестная точка - например, это конкретная синяя черепаха? вы хотите что-то вроде ask turtles with [color = blue] [ask ants in-radius 1 [set blessed true]]. Неясно также, при чем тут еда — дарует ли пища благословение?

Amber
8 апреля 2018 в 17:29
0

Это черепаха синего цвета, но когда я попробую это, все муравьи станут благословенными, а не только те, что на синей черепахе. Итак, у меня две черепахи. Один коричневого цвета (муравей, который должен получить благословение) и синий (которого муравей должен коснуться, прежде чем он станет благословенным).

JenB
9 апреля 2018 в 00:14
0

Итак, вы хотите, чтобы все муравьи находились в некотором радиусе от синей черепахи? Это код, который я написал в своем первом комментарии. Но вы, возможно, имеете в виду на том же участке, что и синяя черепаха, а не в определенном радиусе. Я сделаю это в качестве ответа.

Ответы (1)

avatar
JenB
9 апреля 2018 в 00:18
3

Если вы хотите, чтобы все муравьи (при условии, что муравьи - это порода черепах) на том же участке, что и синяя черепаха, были благословлены, сделайте следующее:

ask turtles with [color = blue] [ ask ants-here [set blessed true] ]

Если вы хотите что-то другое, пожалуйста, укажите более конкретное описание.

Amber
9 апреля 2018 в 07:42
0

Итак, еда — это порода черепах, а муравьи — порода черепах. Я попробовал то, что вы написали в своем последнем комментарии, но тогда все муравьи станут благословенными, а не только тот, что на еде.

JenB
9 апреля 2018 в 10:16
0

Только муравьи на том же участке, что и синяя черепаха, благословлены моим кодом. Но все равно непонятно - сначала вы просили муравьев возле синей черепахи, а теперь просите муравьев на еде. Что это, или это что-то вроде муравьев на некотором расстоянии от еды на некотором расстоянии от синей черепахи?

Amber
9 апреля 2018 в 10:30
0

Мне жаль! синяя черепаха это еда. Но я думаю, что сделал что-то не так с кодом, который вы мне дали, потому что я попробовал еще раз, и он не работает. Большое спасибо!

JenB
9 апреля 2018 в 10:48
0

Добро пожаловать, рад, что это сработало. С вашим разъяснением код понятнее как ask food [ ask ants-here [set blessed true] ]