我一直在寻找将每只乌龟放在一个包裹里的方法,但我不想在同一个地方放两只乌龟。有人知道怎么做吗? (不使用萌芽)。
答案 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
而不是在补丁上下文中调用它。