我试图随机挑选2只相同品种的海龟-但我在努力做到这一点。
我有10个不同的品种。我的代码应该首先随机选择任何品种的海龟,然后随机选择与第一个相同品种的海龟。但是我真的不知道该怎么做。有人可以告诉我该怎么做吗?我期望从其他编程语言中可以将乌龟对象存储在变量中(有效)
let source one-of turtles
然后以某种方式获得该品种作为我的
source
乌龟的属性(这种做法不起作用)let source-breed source.getBreed
有人可以帮我吗?
最佳答案
如您在NetLogo的文档中所看到的,each turtle has a breed
variable引用了包含该品种的所有海龟的代理集。您可以使用 of
访问turtle变量,或者在 ask
块的上下文中引用它。
这是一个例子:
breed [ mice mouse ]
breed [ cats cat ]
breed [ dogs dog ]
to go
clear-all
create-mice 10
create-cats 10
create-dogs 10
let source one-of turtles
show word "We picked: " source
show word "The source breed is: " [ breed ] of source
ask source [
let other-turtle one-of other breed
show word "Here is another turtle of the same breed: " other-turtle
]
end
注意表达式
other
中 one-of other breed
的使用,意思是“我的另一只乌龟”(不是“另一只乌龟”。)