Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chess Engine

Проект шахматного движка на 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-слой должны оставаться тонкими оболочками вокруг правил, реализованных в ядре.

На раннем этапе важно добиться корректности базовых шахматных правил, удобной модели состояния партии и тестируемой архитектуры.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages