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


import turtle
import random

# Настройки экрана
wn = turtle.Screen()
wn.bgcolor("#2c3e50")

# Переменные
score = 0
win_limit = 10 
time_left = 20
game_over = False
jump_interval = 1100 

# Объект Цель
target = turtle.Turtle()
target.shape("circle")
target.color("#e74c3c")
target.penup()
target.speed(8)

# Перо для СЧЕТА (теперь внизу слева: -180, -180)
score_pen = turtle.Turtle()
score_pen.hideturtle()
score_pen.penup()
score_pen.color("#ecf0f1") # Светло-серый/белый
score_pen.goto(-180, -180)
score_pen.write(f"Очки: {score}", align="left", font=("Verdana", 16, "bold"))

# Перо для ТАЙМЕРА (вверху)
time_pen = turtle.Turtle()
time_pen.hideturtle()
time_pen.penup()
time_pen.color("#f1c40f")
time_pen.goto(0, 240)
time_pen.write(f"Время: {time_left}", align="center", font=("Verdana", 14, "bold"))

# Перо для финала
final_pen = turtle.Turtle()
final_pen.hideturtle()
final_pen.penup()
final_pen.color("white")

def update_score():
    score_pen.clear()
    score_pen.write(f"Очки: {score}", align="left", font=("Verdana", 16, "bold"))

def update_timer_display():
    time_pen.clear()
    time_pen.write(f"Время: {time_left}", align="center", font=("Verdana", 14, "bold"))

def jump():
    while not game_over:
            target.goto(random.randint(-200, 200), random.randint(-150, 200))
            wn.ontimer(jump, jump_interval)

def countdown():
    global time_left, game_over
    if not game_over:
        if time_left > 0:
            time_left -= 3
            update_timer_display()
            wn.ontimer(countdown, 100)
        else:
            end_game("GAME OVER", "#c0392b")

def end_game(message, color):
    global game_over
    game_over = True
    wn.bgcolor(color)
    target.hideturtle()
    score_pen.clear()
    time_pen.clear()
    final_pen.goto(0, 0)
    final_pen.write(message, align="center", font=("Courier", 40, "bold"))

def handle_click(x, y):
    global score
    if not game_over and target.distance(x, y) < 30:
        score += 1
        update_score()
        if score >= win_limit:
            end_game("YOU WIN!", "#27ae60")
        else:
            target.goto(random.randint(-200, 200), random.randint(-150, 200))

# Запуск
wn.onclick(handle_click)
jump()
countdown()

wn.mainloop()