Ответ Алана в порядке, но я бы также рассмотрел возможность создания переменной патча вместо того, чтобы полагаться на цвет патча.Например:
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
не затронутесли вы измените цвет патча.Это также может быть немного быстрее, поскольку вы создаете его только один раз, а не фильтруете все патчи снова и снова.