1

如果您运行此代码:

globals [ var ]

to setup

  ca
  create-turtles 10
  [
    set var random 10
  ]

  reset-ticks

end

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

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

4

1 回答 1

2

问题是你已经定义var了一个全局变量,一个所有海龟共享的变量。因此,它的值将是random 10最后一个海龟创建的返回值,覆盖之前创建的海龟返回的所有值。您希望 var 成为一个turtles-own变量,其具有与每个海龟关联(拥有)的单独值。

尝试这个:

turtles-own [ var ]

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

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

于 2020-04-29T00:30:31.593 回答