Запись оператора if в зависимости от атрибута агента для командных агентов другого набора агентов - PullRequest
1 голос
/ 26 мая 2019

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

Здесь, если форма определенного

  • Призрак (скажем, Призрак 1) - это круг,

  • тогда все кролики должны двигаться вперед 1. (<-Это предполагаемое поведение) </p>

где

  • призраки agentset A
  • кролики agentset B

Я пробовал в этом направлении:

ask rabbits
[
 if (shape ghost 1 = "circle")
  [
   forward 1
  ]
]

Для этого кода я получаю,

"Ожидаемый заключительный паратез здесь."

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

1 Ответ

2 голосов
/ 27 мая 2019

Это (я думаю - не могу проверить) получит правильный синтаксис:

ask rabbits
[
 if ([shape] of ghost 1 = "circle")
  [
   forward 1
  ]
]

, но у вас также есть ошибка заказа, и каждый кролик проверит форму chost 1. Я думаю, чтоВы действительно хотите это:

if ([shape] of ghost 1 = "circle")
[ ask rabbits
  [ forward 1
  ]
]
...