我试图随机挑选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 的使用,意思是“我的另一只乌龟”(不是“另一只乌龟”。)

10-08 00:27