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


Привет! Я пишу итоговый проект в МШП (Московская школа программистов) по курсу «Разработка ИИ-агентов». Тема моего проекта: «Симуляция шахматного поединка между ИИ». 

Мне нужно, чтобы ты написал полноценный, рабочий скрипт на Python, который объединяет визуализацию на Pygame и запросы к моделям через OpenRouter API.

### КОНЦЕПЦИЯ ПРОЕКТА («Шахматный хаос»)
Это экспериментальный бенчмарк. Наш движок НЕ должен блокировать нелегальные ходы ИИ-агентов. Если Gemini галлюцинирует и говорит: «Ладья летит по диагонали на e4 через свои фигуры» — движок послушно запускает анимацию, стирает ладью со старого места, ставит на e4 и съедает любого, кто там стоял. 

### ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ К КОДУ

1. ГРАФИКА (Pygame):
- Окно размером 940x640 (640 пикселей под шахматную доску 8х8, и 300 пикселей справа — под текстовую панель логов).
- Реализуй плавную анимацию перемещения фигур (линейная интерполяция координат LERP) из клетки А в клетку Б. Фигуры должны плавно скользить на любые расстояния, игнорируя правила шахмат.
- Для отрисовки фигур пока используй текстовые буквы (шрифт Arial), но структура кода должна позволять легко заменить их на спрайты .png.

2. СЕТЕВОЙ МОДУЛЬ (OpenRouter):
- Напиши функцию запроса к OpenRouter (`google/gemini-pro-1.5` или актуальной версии Gemini 3.1).
- Внутри функции должен быть жестко прописан Системный Промпт (System Prompt). Он должен заставлять ИИ думать, что идет обычная игра, но требовать строго JSON-ответ на русском языке с тремя ключами:
  {
    "thought": "Мысли ИИ о ходе на русском языке",
    "piece": "Буква фигуры (P, N, B, R, Q, K)",
    "move": "Ход в формате 4 символов, например 'e2e4'"
  }
- Реализуй функцию `chess_coord_to_grid()`, которая переводит строку "e2e4" в координаты матрицы Pygame `(col, row)` для анимации.

3. ИГРОВОЙ ЦИКЛ (Main Loop):
- Игра идет автоматически (Белые против Черных). По нажатию на клавишу ПРОБЕЛ отправляется запрос к ИИ, получается ход, запускается анимация.
- После завершения анимации обновляется внутренняя матрица доски (строка FEN) и текст `"thought"` выводится в правую панель логов Pygame.

Напиши один монолитный, чистый и задокументированный файл на Python, готовый к запуску. Добавь обработку ошибок (если API вернул некорректный JSON, игра не должна вылетать).