在python乌龟中解决一个问题,我需要使用乌龟在一个正方形内绘制设计并将这些正方形中的许多放置在所需的坐标上。
我当前的设计使用goto(x,y)
函数,但是显然在不同位置调用它们时,设计代码仍在原始位置被调用。有什么方法可以使相对于平方的位置函数或任何其他解决方法?我了解乌龟的基本知识,但是我仍然是一个初学者。干杯
编辑:一个小的代码示例(适用于以0,0绘制的正方形,但是当正方形放置在不同的x,y坐标上时,文本不会随之移动)
pencolor('black')
goto(5, 5)
write('MITSUBISHI', font=('Verdana', '22', 'bold'))
penup()
答案 0 :(得分:1)
如果乌龟在位置矢量(x,y)上,并且想将其向右移动3个,向上移动5个,则只需将其添加到坐标中,因此乌龟需要移动到{{1} }。幸运的是,turtle.Vec2D
支持这样的加法,您可以在向量上使用(x + 3, y + 5)
。您可以使用turtle.pos()
goto
答案 1 :(得分:0)
除了@Artyer的出色答案(+1),不要忘记与{em>相对的forward()
,backward()
,left()
,right()
定位操作与绝对操作goto()
和setheading()
相对。利用提供的相对操作可能需要重新考虑您的图形。
在紧要关头,您总是可以做一些丑陋的事情:
t.setx(t.xcor() + 10)