在没有发芽的情况下在包裹中设置海龟

时间:2015-04-21 01:56:39

标签: netlogo

我一直在寻找将每只乌龟放在一个包裹里的方法,但我不想在同一个地方放两只乌龟。有人知道怎么做吗? (不使用萌芽)。

1 个答案:

答案 0 :(得分:3)

假设你有比海龟更多的补丁,你只需要:

ask turtles [
  move-to one-of patches with [ not any? turtles-here ]
]

有趣的附注:

人们常常想要other在那里,如:

; bad code:
ask turtles [
  move-to one-of patches with [ not any? other turtles-here ]
]

但是这会在补丁上下文中调用other,因此实际上并没有执行任何操作。为了达到不排除龟已经打开的补丁的预期效果,你可以写:

ask turtles [
  let me self
  move-to one-of patches with [ not any? turtles-here with [ self != me ] ]
]

是否值得麻烦取决于您的具体情况。

最后,请注意:

; bad code:
ask turtles [
  move-to one-of patches with [ not any? [ other turtles-here ] of myself ]
]

工作,因为然后会在turtle的上下文中调用turtles-here而不是在补丁上下文中调用它。