Как заставить каждую черепаху принимать разные случайные значения для переменной? - PullRequest
1 голос
/ 29 апреля 2020

Если вы запустите этот код:

globals [ var ]

to setup

  ca
  create-turtles 10
  [
    set var random 10
  ]

  reset-ticks

end

, а затем создадите список переменной var из 10 черепах (используя show (list [var] of turtles), список будет содержать 10 одинаковых значений, например [ 4 4 4 4 4 4 4 4 4 4 ]. Кажется, что процедура set var random 10 присваивает одно и то же значение этой переменной var для всех черепах.

Какой код я должен набрать, чтобы каждая черепаха приняла значение random 10, которое относительно отличается друг от друга?

1 Ответ

2 голосов
/ 29 апреля 2020

Проблема в том, что вы определили var как глобальную переменную, общую для всех черепах. Следовательно, его значением будет значение, возвращаемое random 10 для последней созданной черепахи, перезаписывая все значения, возвращенные ранее созданными черепахами. Вы хотите, чтобы переменная была turtles-own переменной с отдельным значением, связанным с (принадлежащим) каждой черепахе.

Попробуйте это:

turtles-own [ var ]

to setup
  ca
  create-turtles 10
  [
    set var random 10
  ]
  reset-ticks
end

Каждая черепаха сообщит свое собственное значение переменной var Скорее, это значение, разделяемое ими всеми, когда оно было объявлено глобальным.

Надеюсь, это поможет, Чарльз

...