Проект шахматного движка на C/C++.
Главная цель проекта - создать надежное шахматное ядро, которое умеет представлять доску, хранить состояние партии, проверять правила и предоставлять стабильный API для будущих расширений.
На первом этапе проект сфокусирован только на Chess Core / Engine Core. AI/Bot-слой и интерфейсы остаются в планах, но пока не выделяются в отдельные директории.
- Стандарт языка: C++20
- Система сборки: CMake
- Система тестирования: GoogleTest
- Основной компилятор: GCC
Chess/
├── CMakeLists.txt # Главный CMake
├── include/
│ └── chess/
│ └── core/ # Публичные заголовки
├── src/
│ └── core/ # Реализация и CMake-цель
└── tests/
└── core/ # Тесты Chess Core
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build buildЗапуск тестов:
ctest --test-dir build --output-on-failureСейчас CMake уже готов к подключению GoogleTest, но тестовые цели появятся позже, когда в ядре будут первые сущности.
После появления стабильного Chess Core к проекту можно будет вернуться с расширениями:
- AI/Bot Engine для объяснения позиций и помощи в обучении;
- CLI-интерфейс;
- Desktop GUI;
- REST/WebSocket API;
- web-интерфейс;
- Python bindings.
Первый приоритет - Chess Core. До появления стабильного ядра интерфейсы и AI-слой должны оставаться тонкими оболочками вокруг правил, реализованных в ядре.
На раннем этапе важно добиться корректности базовых шахматных правил, удобной модели состояния партии и тестируемой архитектуры.