Netlogo: как покрасить заплатку, только если на ней есть черепаха? - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь написать какой-нибудь код, который бы окрасил патч, только когда черепаха находится на этом конкретном патче. В противном случае патч будет иметь оригинальный цвет. Я хочу, чтобы это происходило, когда черепаха движется, поэтому черепаха окрашивает пятно в красный цвет, а затем по мере продвижения вперед пятно, окрашенное в красный цвет, будет возвращаться к своему первоначальному цвету. Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

В итоге я решил проблему, неоднократно вызывая процедуру в моей процедуре go, чтобы она постоянно окрашивала патчи, в том числе и код, чтобы сделать патч красным. Спасибо всем за помощь!

0 голосов
/ 08 ноября 2018

Комментарий @ Jesse001 находится на правильном пути. Попробуйте это:

ask patches [ set pcolor ifelse-value any? turtles-here [red] [green] ]

или немного более легкий для чтения эквивалент:

ask patches
[ ifelse-value any? turtles-here
  [ set pcolor red]
  [ set pcolor green]
]

Если вы хотите, чтобы оно было напрямую связано с движением черепахи, то вы можете использовать [ ask patch-here [ set pcolor red ] ] в части кода движения. Сделайте так, чтобы он установил цвет непосредственно перед тем, как двигаться и сразу после. Конечно, вы должны убедиться, что в том же патче нет других черепах, прежде чем переходить на пустой цвет.

...