Ответ Алана в порядке, но я бы также рассмотрел возможность создания переменной патча вместо того, чтобы полагаться на цвет патча. Например:
patches-own [ water? ]
Если вы установите значение true
для каждого участка с водой, вы сможете сказать что-то вроде:
move-to one-of patches with [ water? ]
Основная причина этого заключается в том, что в какой-то момент вы можете захотеть изменить цвет участков воды: например, сделать их немного темнее или светлее синими или использовать цвет, чтобы временно выделить участки с какой-либо другой характеристикой.
Разделение представления и семантики программы, как правило, является хорошей практикой.
Другой способ добиться этого — создать набор агентов с вашими участками воды во время установки. Например, предположив, что вы объявляете water-patches
глобальной переменной, вы должны сделать:
set water-patches patches with [ pcolor = blue ]
И тогда вы можете сделать:
move-to one-of water-patches
На набор агентов water-patches
не влияет изменение цвета патча. Это также может быть немного быстрее, поскольку вы создаете его только один раз, а не фильтруете все патчи снова и снова.
person
Nicolas Payette
schedule
01.06.2018