如何获取海龟的位置?

8

我该如何在Python中找到海龟的坐标?

例如,如果海龟位于(200, 300),我该如何检索该位置?


fx = food.getx()属性错误:'Turtle'对象没有'getx'属性我遇到了这个错误。 - User9123
想要访问X(或Y)坐标,你可以使用fx = food.xcor()(或food.ycor())。但是如果你需要两个坐标,最好使用food.getposition()(或其同义词food.getpos())。 - cdlane
4个回答

8

如Python文档所示,turtle.pos()返回海龟当前位置的二维向量(x,y)


4

如果我想知道turtle1和turtle2是否在同一坐标上,我会这样做:if turtle1.pos() == turtle2.pos() - User9123
@User9123,您只需检查Vec2D对象是否相等,所以是的。 - Philipp

2

我想知道如果turtle1和turtle2在同一个坐标上,我该怎么做?如果turtle1.pos() == turtle2.pos()

是的,但由于海龟在浮点平面上运动,当它们靠近但不完全重合时,这可能会给你带来麻烦。你最好使用以下测试:

turtle1.distance(turtle2) < 0.1

即,距离中心的距离是否小于您确定的一些模糊因素。如果您想知道任何龟部位是否重叠(例如,腿接触),那么您的模糊因素可以高达10.0


0

好的,turtle.pos() 方法返回一个元组

向量是从元组派生出来的,因此向量也是元组!

所以你可以使用以下方法检查海龟是否在特定坐标上:

if turtle.pos() == (5.0, 0.0):
    print(“at coordinate”)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接