Netlogo 如何让每只海龟对一个变量取不同的随机值?

Netlogo 如何让每只海龟对一个变量取不同的随机值?,netlogo,Netlogo,如果运行此代码: globals [ var ] to setup ca create-turtles 10 [ set var random 10 ] reset-ticks end 然后你列出10只海龟的var变量(使用show(海龟的列表[var]),该列表将包含10个相同的值,例如[4]。似乎set var random 10程序为所有海龟的var变量分配了相同的值 我应该键入什么代码,以便每个海龟获得彼此相对不同的random 10值?问题是您已

如果运行此代码:

globals [ var ]

to setup

  ca
  create-turtles 10
  [
    set var random 10
  ]

  reset-ticks

end

然后你列出10只海龟的
var
变量(使用
show(海龟的列表[var]),该列表将包含10个相同的值,例如
[4]
。似乎
set var random 10
程序为所有海龟的
var
变量分配了相同的值


我应该键入什么代码,以便每个海龟获得彼此相对不同的
random 10
值?

问题是您已将
var
定义为一个全局变量,一个所有海龟共享的变量。因此,它的值将是创建的最后一只海龟的
random 10
返回的值,覆盖all以前创建的turtles返回的值。您希望var是一个turtles自己的
变量,具有与每个turtle关联(拥有)的单独值

试试这个:

turtles-own [ var ]

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

每只海龟都会报告自己的var值,而不是它们在声明为全局变量时共享的值。

噢!现在我明白了什么时候我们必须给全局变量或代理自己的变量赋值。这完全有效!谢谢Charles。