Как сделать движение нарисованного квадрата в python с помощью библиотеки turtle
Прошу помощи, хочу сделать движение квадрата в python с помощью библиотеки turtle. Задумка такая: рисуем квадрат с помощью черепахи, делаем ему цвет, а дальше проблема, надо чтобы этот квадрат уходил вправо за пределы экрана, а появлялся слева и опять двигался вправо, в целом движение по кругу. Прикрепляю то, что "получилось" сделать.
import turtle
MyTur = turtle.Turtle()
MyTur.hideturtle()
MyScreen = turtle.Screen()
MyScreen.bgcolor("white")
MyScreen.screensize(500, 500)
MyScreen.tracer(0)
def square():
MyTur.begin_fill()
MyTur.fillcolor("blue")
for i in range(4):
MyTur.forward(50)
MyTur.right(90)
MyTur.end_fill()
MyTur.penup()
x = -350
MyTur.goto(x, 0)
MyTur.pendown()
while True:
MyTur.clear()
square()
MyScreen.update()
MyTur.forward(0.05)
Ответы (1 шт):
Автор решения: Арамис
→ Ссылка
После того, как передвинули квадрат, нужно проверить вышли ли мы за правую границу (x > 500): если вышли, то x = -500
import turtle
MyTur = turtle.Turtle()
MyTur.hideturtle()
MyScreen = turtle.Screen()
MyScreen.bgcolor("white")
MyScreen.screensize(500, 500)
MyScreen.tracer(0)
def square():
MyTur.begin_fill()
MyTur.fillcolor("blue")
for i in range(4):
MyTur.forward(50)
MyTur.right(90)
MyTur.end_fill()
MyTur.penup()
x = -350
MyTur.goto(x, 0)
MyTur.pendown()
while True:
MyTur.clear()
square()
MyScreen.update()
MyTur.forward(0.05) # Сдвинули квадрат
# Проверяем выходит ли за границу новая координата x
if MyTur.pos()[0] > 500: # Если вышли, то передвигаем квадрат на -500
MyTur.penup()
x = -500
MyTur.goto(x, 0)
MyTur.pendown()
По поводу MyTur.pos()[0]:
MyTur.pos() возвращает кортеж из двух элементов: например, (-349.90,-0.00). Первое значение - x, второе - y. Нам нужен x, отчет в питоне начинается с 0, поэтому x = MyTur.pos()[0]