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 на противоположное