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()