直接把乌龟移到特定的地方

时间:2014-07-19 02:58:50

标签: netlogo

我在墙壁和障碍物之间封闭了海龟,并希望它们移动到特定的目标位置。每个蜱我只转发特定量的龟。我如何实现这一点来改变龟头? 解释更多 enter image description here

在上图中: 1.在开始时考虑盒子内的所有海龟 你想要乌龟到达上面的目标点,(目前图中的乌龟存在) 3.你有障碍物,墙壁之间有1个开口,即图中的矩形与间隙。海龟只能通过这个差距。 我怎么试 我使用facexy让乌龟面向目标点并在与墙碰撞后反弹但是这样做时盒子左右两侧的乌龟与墙壁保持碰撞,因为每次碰撞后他们再次从facexy方向射出

请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:1)

一个简单的解决方法(根据我读到的关于使海龟反弹的内容)。

  • goal-xcor是目标的x坐标。
  • goal-ycor是y坐标 目标。
  • random-number是1到10之间的随机数(?)。

        `If COLLISION: `
    
  • 如果他们在左侧制作他们facexy goal-xcor + random-number goal-ycor

  • 如果他们在右边让他们facexy goal-xcor - random-number goal-ycor

如果没有任何碰撞,则意味着他们以正确的方式进行,他们应该继续朝目标方向前进。

每当你让它们转过来facexy goal-xcor goal-ycor时,这一点非常重要。更清楚:伪代码:

1 setup-turtles-inside-box
  loop:
2 ask all turtles to face goal.
3 ask all turtles to go forward.
4 if collision
5   if turtle-in-left
6       ask turtle to face goal-xcor + random-number goal-ycor
    else
        ask turtle to face goal-xcor - random-number goal-ycor
7 loop until all turtles are in goal.

让我们知道任何疑问!

这是另一种方法: http://rur-ple.sourceforge.net/en/random.htm