Загрузка данных


import turtle

# Настройка окна
window = turtle.Screen()
window.title("Мяч, отскакивающий от стенок")
window.bgcolor("black")
window.setup(width=600, height=400)
window.tracer(0)  # Отключаем автоматическую анимацию для плавности

# Создание мяча (экземпляр Turtle с формой круга)
ball = turtle.Turtle()
ball.shape("circle")
ball.color("red")
ball.penup()  # Поднимаем перо, чтобы мяч не рисовал линию при движении
ball.goto(0, 0)  # Начальная позиция в центре экрана
ball.turtlesize(1.5)  # Увеличиваем размер мяча

# Параметры движения
dx = 2  # Скорость по оси X
dy = 3  # Скорость по оси Y

# Основной цикл анимации
while True:
    window.update()  # Обновляем экран

    # Обновляем позицию мяча
    x = ball.xcor() + dx
    y = ball.ycor() + dy
    ball.goto(x, y)

    # Проверка столкновений с границами окна и отскок
    # Правая стенка
    if ball.xcor() > 290:
        ball.setx(290)  # Фиксируем позицию у стенки
        dx *= -1  # Меняем направление по оси X на противоположное

    # Левая стенка
    if ball.xcor() < -290:
        ball.setx(-290)  # Фиксируем позицию у стенки
        dx *= -1  # Меняем направление по оси X на противоположное

    # Верхняя стенка
    if ball.ycor() > 190:
        ball.sety(190)  # Фиксируем позицию у стенки
        dy *= -1  # Меняем направление по оси Y на противоположное

    # Нижняя стенка
    if ball.ycor() < -190:
        ball.sety(-190)  # Фиксируем позицию у стенки
        dy *= -1  # Меняем направление по оси Y на противоположное