NetLogo得到了一只乌龟的品种

时间:2014-06-20 19:37:25

标签: netlogo

我试图随机挑选同一品种的2只龟 - 但我正在努力解决这个问题。 我有10个不同的品种。我的代码应首先随机挑选任何品种的乌龟,然后随机选择与第一种相同的品种。但我真的不知道该怎么做。谁能告诉我怎么做?从我期望的其他编程语言中,我可以将一个乌龟对象存储在一个变量中(可以工作)

let source one-of turtles

然后以某种方式将该品种作为我source乌龟的属性(这不起作用)

let source-breed source.getBreed

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:4)

正如您在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

请注意在one-of other breed表达式中使用other,这意味着“我的另一只乌龟”(“是另一种海龟”。)< / p>