Netlogo: говорит, что это в контексте черепахи, когда это не так

#netlogo

#netlogo

Вопрос:

Я должен создать кнопку, которая случайным образом окрашивает участки в нижней половине сетки более темными оттенками заданного цвета на основе ползунка, а верхнюю половину сетки случайным образом более светлыми оттенками заданного цвета на основе ползунка. Когда я писал свой код, он говорит, что я не могу использовать свою команду, потому что она находится в контексте исправления, потому что команда by находится в контексте только для черепах. Я в замешательстве, потому что я не использую черепах, я использую только исправления. Внутри моей кнопки я написал «colorRandomShade2», который является именем моей команды. Кнопка также находится в контексте исправления, и ее отображаемое имя — «colorRandomShade2».

Код:

 to colorRandomShade2
  if ycor > 0 [ set pcolor ( main_color   random 5 ) ]
  if ycor < 0 [ set pcolor ( main_color   random 9 ) ]
end
 

Ответ №1:

Координаты исправления — это pxcor и pycor , но вы использовали xcor и ycor , которые являются именами переменных для координат черепахи. Итак, вы нажимаете кнопку для вызова кода, и первое, что видит NetLogo, — это запрос на просмотр ycor координаты или y черепахи.