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


import turtle

# Настройка экрана
screen = turtle.Screen()
screen.title("Ящерица за курсором")
screen.bgcolor("white")
screen.setup(800, 600)
screen.tracer(0)  # чтобы не было мерцания

# Ящерица
lizard = turtle.Turtle()
lizard.shape("triangle")
lizard.shapesize(1.5)
lizard.color("green")
lizard.penup()
lizard.speed(0)

# Скорость движения за курсором (меньше = плавнее, но медленнее)
SPEED = 0.2

def move_to_cursor():
    # текущие координаты ящерицы
    x, y = lizard.position()
    # позиция курсора мыши
    cx, cy = screen.cv.winfo_pointerx(), screen.cv.winfo_pointery()
    # переход из Tk-координат в координаты turtle
    cx = (cx - screen.window_width() // 2)
    cy = (screen.window_height() // 2 - cy)

    # вектор к курсору
    dx = cx - x
    dy = cy - y

    # двигаем ящерицу с некоторой скоростью
    if dx != 0 or dy != 0:
        angle = lizard.towards(cx, cy)
        lizard.setheading(angle)
        new_x = x + dx * SPEED
        new_y = y + dy * SPEED
        lizard.goto(new_x, new_y)

    # обновляем экран
    screen.update()
    # повторяем через небольшой интервал
    screen.ontimer(move_to_cursor, 20)

# первоначальное положение ящерицы в центре
lizard.goto(0, 0)

# запускаем отслеживание
move_to_cursor()

# чтобы окно не закрывалось
screen.exitonclick()