Я очень новичок в netlogo, так что это, вероятно, очень простой вопрос, но я застрял. Я хочу использовать цикл while (так что команды продолжают встречаться на протяжении всего цикла) и цвет исправления, чтобы диктовать, как будет двигаться черепаха.Использование цвета патча и цикла while для управления движением черепах в netlogo
Если черепаха не находится на красном патче, я хочу, чтобы она продолжала двигаться к ближайшему красному участку.
Если на красное пятно, я хочу, чтобы она осталась на пятачке
while [pcolor] of patch-here != red
[
face min-one-of patches with [pcolor = red ] [ distance myself ]
forward 1
]
while [pcolor] of patch-here = red
[
stop
]
Когда я запускаю это, я получаю ошибку (с «[pcolor] на патч-вот! = Красный» подсвечена), что говорит: «в то время как ожидается, этот вход будет ИСТИНА/ЛОЖЬ блок, но получил TRUE/FALSE вместо этого.»
Может кто-нибудь помочь мне?
Вы также можете иметь некоторую концептуальную путаницу. Вы заявляете, что используете цикл while, поэтому команды сохраняются на протяжении всего цикла. Цикл while будет означать, что NetLogo будет запускать этот набор команд, пока черепаха не попадет на красный патч. Если у вас несколько черепах, и у вас есть это внутри, попросите черепах ... тогда одна черепаха переместится полностью на красный патч, а затем на следующий. В NetLogo более типично использовать счетчик тиков, и каждый черепаха перемещается после каждого тика, так что все они движутся в одно и то же время. Если одновременно требуется то, что вы хотите, скажите так, и мы ответим на это. – JenB
@JenB У меня есть несколько черепах, и это внутри черепах, я пытаюсь выполнить одновременное движение, как то, что вы сказали! – emenyea