import turtle

# Настройка экрана
screen = turtle.Screen()
screen.title("Анимация фаз Луны")
screen.setup(600, 600)
screen.bgcolor("blue")  # Синий фон как на образце
screen.tracer(0)        # Отключаем автоматическое обновление для плавной анимации

# Создаем объект для рисования неподвижной Луны
moon = turtle.Turtle()
moon.hideturtle()
moon.penup()
moon.color("orange")    # Оранжево-желтый цвет Луны

# Функция для рисования круга
def draw_circle(t, x, y, radius, color):
    t.penup()
    t.goto(x, y - radius) # Центрируем круг
    t.pendown()
    t.color(color)
    t.begin_fill()
    t.circle(radius)
    t.end_fill()

# Создаем объект для тени (анимированная часть)
shadow = turtle.Turtle()
shadow.hideturtle()

# Параметры луны
radius = 120
x_shadow = 250  # Начальная позиция тени (справа от луны)

while True:
    # 1. Очищаем старую тень
    shadow.clear()
    
    # 2. Рисуем основную Луну (каждый кадр, чтобы она была под тенью)
    draw_circle(moon, 0, 0, radius, "orange")
    
    # 3. Рисуем тень (синий круг), который движется
    # Цвет тени должен в точности совпадать с цветом фона (blue)
    draw_circle(shadow, x_shadow, 0, radius, "blue")
    
    # 4. Обновляем экран
    screen.update()
    
    # 5. Двигаем координату тени влево
    x_shadow -= 1
    
    # 6. Если тень полностью ушла влево, возвращаем её в начало
    if x_shadow < -250:
        x_shadow = 250

# Чтобы окно не закрывалось сразу (хотя цикл бесконечный)
turtle.done()


