如何让每只海龟为一个变量取不同的随机值?
How to make each turtle takes different random values for a variable?
如果您运行此代码:
globals [ var ]
to setup
ca
create-turtles 10
[
set var random 10
]
reset-ticks
end
然后你列出 10 只海龟的 var
变量(使用 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 值,而不是当它被声明为全局时它们共享的值。
如果您运行此代码:
globals [ var ]
to setup
ca
create-turtles 10
[
set var random 10
]
reset-ticks
end
然后你列出 10 只海龟的 var
变量(使用 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 值,而不是当它被声明为全局时它们共享的值。