如果你运行这段代码。
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
值相对不同?
问题是,你已经定义了 var
作为一个全局,一个所有海龟共享的变量。因此,它的值将是由 random 10
的值,覆盖之前创建的海龟所返回的所有值。 你希望var是一个 turtles-own
变量,每个乌龟都有一个单独的值(为其所有)。
试试这个。
turtles-own [ var ]
to setup
ca
create-turtles 10
[
set var random 10
]
reset-ticks
end
每个海龟都会报告自己的var值,而不是声明为全局变量时所有海龟共享的值。