ChessAI — это инструмент для анализа шахматных партий, использующий движок Stockfish и графический интерфейс на Python. Он позволяет загружать партии в формате PGN, анализировать ходы и получать рекомендации по улучшению игры.
- Загрузка партий:
- Из файлов формата PGN, в том числе с несколькими партиями.
- По URL с популярного шахматного сервера Lichess.org.
- Установка любой позиции из нотации FEN.
- Анализ в реальном времени:
- Мгновенная оценка текущей позиции с помощью движка Stockfish.
- Отображение нескольких лучших линий (Multi-PV).
- Визуализация лучших ходов и угроз прямо на доске.
- Интерактивная доска:
- Полная навигация по ходам партии (вперед, назад, к началу, в конец).
- Анимированное перемещение фигур для наглядности.
- Возможность перевернуть доску в любой момент.
- Глубокий анализ партии:
- Автоматический полный анализ сыгранной партии с классификацией ходов (зевок, ошибка, неточность).
- Построение графика оценки, который наглядно показывает переломные моменты в игре.
- Аннотации и сохранение:
- Добавление комментариев и стандартных NAG-ов (!, ?, !!, ?? и т.д.) к ходам.
- Сохранение проанализированной партии со всеми аннотациями обратно в PGN-файл.
- Игра против движка:
- Возможность сыграть партию против Stockfish с настраиваемым уровнем силы.
- Удобство использования:
- Копирование FEN-позиции в буфер обмена.
- Звуковое сопровождение ходов.
- Интуитивно понятный интерфейс с вкладками для анализа и графика.
Для работы приложения необходимо выполнить следующие шаги:
git clone https://github.com/ReNothingg/ChessAI.git
cd ChessAIПриложение требует наличия Python 3 и нескольких библиотек. Установите их с помощью pip:
pip install -r requirements.txtПосле выполнения всех шагов запустите главный файл:
python main.pyПо умолчанию приложение ищет движок в корне проекта (stockfish.exe на Windows или stockfish на Linux/macOS).
Если движок находится в другом месте, можно указать путь через переменную окружения STOCKFISH_PATH.
Пример для PowerShell:
$env:STOCKFISH_PATH = "C:\path\to\stockfish.exe"
python main.py- Загрузка партии: Используйте меню "Файл" для загрузки PGN, FEN или по URL.
- Навигация: Используйте кнопки
<и>под доской или кликайте по списку ходов справа. - Анализ: Нажмите "Анализировать партию" для полного разбора или просто перемещайтесь по ходам для анализа "на лету".
- Игра с движком: Выберите "Игра" -> "Новая игра с движком", чтобы начать партию против компьютера.
- Настройки движка: На вкладке "Анализ" можно изменить силу игры и количество анализируемых линий.
main.py: Точка входа приложения (инициализацияTk, проверка ассетов, запускChessAnalyzerApp).chess_app/app.py: Главный класс приложения и жизненный цикл.chess_app/ui.py: Построение интерфейса, отрисовка доски, панели и визуальные элементы.chess_app/game.py: Работа с партиями, загрузка PGN/FEN/URL, график, статус игры.chess_app/interaction.py: Взаимодействие пользователя с доской, ходы, анимации, аннотации.chess_app/analysis.py: Анализ позиции и партии, обновление таблицы лучших ходов.engine_handler.py: Модуль работы с Stockfish по UCI (запуск процесса, команды, парсинг вывода).


