Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netlogo:移动海龟并计算距离_Netlogo - Fatal编程技术网

Netlogo:移动海龟并计算距离

Netlogo:移动海龟并计算距离,netlogo,Netlogo,我目前正在做关于路径规划的项目 因此,我的计划步骤如下: 单击“设置”以排列所有坐标 单击开始创建移动的海龟 单击“转到”以使移动的海龟转到最近的带有x的坐标标签 这意味着,在第4步,移动的海龟已经计算出它与每个坐标的距离。 这里我附上了接口和编码 to setup clear-all set-default-shape turtles "x" create-turtles 9 ask turtles[set color red] ask turtle 0[setxy 0 15]

我目前正在做关于路径规划的项目

因此,我的计划步骤如下:

单击“设置”以排列所有坐标 单击开始创建移动的海龟 单击“转到”以使移动的海龟转到最近的带有x的坐标标签 这意味着,在第4步,移动的海龟已经计算出它与每个坐标的距离。 这里我附上了接口和编码

to setup
 clear-all
 set-default-shape turtles "x"
 create-turtles 9
 ask turtles[set color red]

 ask turtle 0[setxy 0 15]
 ask turtle 1[setxy 4 15]
 ask turtle 2[setxy -4 15]
 ask turtle 3[setxy 0 12]
 ask turtle 4[setxy 4 12]
 ask turtle 5[setxy -4 12]
 ask turtle 6[setxy 0 9]
 ask turtle 7[setxy 4 9]
 ask turtle 8[setxy -4 9]
end

to start
 set-default-shape turtles "airplane"
 create-turtles 1

 ask turtle 9[setxy 0 -15]
end

不要忘记,距离取决于您的拓扑结构

to setup
  clear-all
  let targets [
    [0 15] [4 15] [-4 15]
    [0 12] [4 12] [-4 12]
    [0 9] [4 9] [-4 9]
  ]
  foreach targets [xy -> ask patch item 0 xy item 1 xy [
    sprout 1 [set shape "x" set color red]
    ]
  ]
  create-turtles 1 [ set shape "airplane" setxy 0 -15]
end
编辑:如果你将所有其他海龟视为合格的目标,那么一旦你将海龟9移动到一个目标,它将停留在那里。如果你不想这样,你就说同一地点的海龟不符合条件:

to move
  ask turtle 9 [move-to min-one-of eligibles [distance myself]]
end

to-report eligibles
  report turtles with [0 < distance myself]
end

谢谢你,艾伦。但是当我使用给定的编码时,系统说没有一个名为XY的defined@AzamAsri-你有什么版本的Netlogo?Alan的代码被复制到一个全新的文件中,在Netlogo 6.0.2中对我有效,但是如果你有6.0,你可能需要更改。。。[xy->…至…[[xy]->…哦,我明白了。我有5.0.4版。我会先尝试更新好的。我刚刚更新了它,它正在工作。但是,乌龟只是在它停止后移动到一个位置。我想因为它发现最近的乌龟在它下面。如何解决它?@AzamAsri很乐意提供帮助,欢迎使用堆栈溢出。如果这个答案或任何其他答案解决了您的问题问题,谢谢。