如何将链接海龟移动到Netlogo中链接海龟的位置?
我用海龟创建了一个模型,这些海龟是通过链接分组组织的 现在我想把这个“组”中所有链接的海龟移动到组中一个成员的位置(可以是随机的) 我尝试了不同的方法,但结果不是我想做的。这就是我所尝试的:如何将链接海龟移动到Netlogo中链接海龟的位置?,netlogo,Netlogo,我用海龟创建了一个模型,这些海龟是通过链接分组组织的 现在我想把这个“组”中所有链接的海龟移动到组中一个成员的位置(可以是随机的) 我尝试了不同的方法,但结果不是我想做的。这就是我所尝试的: breed [AT1 AT1_1] turtles-own [home-location] to meet ask AT1 [ let group-home one-of [home-location] of link-neighbors move-to get-home 是否可以通
breed [AT1 AT1_1]
turtles-own [home-location]
to meet
ask AT1 [
let group-home one-of [home-location] of link-neighbors
move-to get-home
是否可以通过链接来实现这一点,或者我是否应该/可以将组生成为turtles自己的组?除非您正在做一些非常有趣的事情,否则每个turtle的位置始终作为变量xcor和ycor拥有。您不需要创建新的变量home location 因此,如果您只想让AT1中的所有海龟都集中在其中一只海龟现在所在的位置,这将起作用:
to meet
let target one-of AT1
ask AT1 [
move-to target
]
end
请注意,设置目标在“ask ATI”循环之外,否则您将得不到您想要的
若你们真的为每只海龟设置了“home location”,它可能和它现在所在的位置不同,那个么它需要一个x坐标和y坐标的列表,或者你们需要两个变量,比如home-location-x和home-location-y
如果您这样做,那么这将作为满足代码工作
to meet2
let target one-of AT1
let tx [home-location-x] of target
let ty [home-location-y] of target
ask AT1 [ setxy tx ty ]
end