Проблема в том, что вы игнорируете заголовок черепахи. При использовании goto()
заголовок черепахи не изменяется. Когда вы пишете left(45)
, остается 45 градусов относительно чего? Слева от текущего заголовка, который не был установлен:
from turtle import Screen, Turtle
StartPointX = 0
StartPointY = 0
MaxX = 100
MaxY = 100
screen = Screen()
brush = Turtle()
# Drawing The arrow line
brush.penup()
brush.goto(StartPointX, StartPointY)
brush.pendown()
brush.setheading(brush.towards(MaxX, MaxY))
brush.goto(MaxX, MaxY)
# Drawing arrow head
brush.left(45)
brush.backward(20)
brush.forward(20)
brush.right(90)
brush.backward(20)
brush.hideturtle()
screen.exitonclick()
Еще один способ подойти к этому:
MaxX = 100
MaxY = 100
# ...
brush.setheading(brush.towards(MaxX, MaxY))
brush.goto(MaxX, MaxY)
Должен контролировать заголовок и использовать forward()
вместо goto()
:
Distance = 140
# ...
brush.setheading(45)
brush.forward(Distance)