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

问题描述 投票:1回答:1

如果你运行这段代码。

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 值相对不同?

netlogo
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值,而不是声明为全局变量时所有海龟共享的值。

© www.soinside.com 2019 - 2024. All rights reserved.