Условие, которое вы хотите указать в операторе while
, равно while [ [pcolor] of patch x ytemp = 44 ]
. Но вы также должны быть уверены, что у вас не будет проблем, если все пятна в столбце x будут окрашены 44. Если мир обернут, вы (я думаю) попадете в бесконечное число l oop. Если это не так, вы получите сообщение об ошибке при тестировании патча в нижней части вашего мира. Возможно, следующее может сделать то, что вы хотите более безопасно?
let candidates patches with [pxcor = x and pcolor != 44]
if any? candidates [
ask max-one-of candidates [pycor] [set pcolor 44]
]
Он находит все патчи в столбце x, которые не окрашены 44, и, если они есть, выбирает тот, который ближе всего к вершине мир, чтобы покрасить, это то, что сделал бы ваш while
l oop.
Надеюсь, это поможет, Чарльз