Inheritance Chess V1.0
C++ chess engine with object-oriented design
Loading...
Searching...
No Matches
Inheritance Chess

inheritance-chess-icon

Overview

Inheritance Chess is an enterprise-grade C++ chess engine that demonstrates object-oriented design principles and polymorphic architecture. Built with production-quality standards, this implementation leverages modern C++ practices to deliver a robust, maintainable, and extensible chess engine.

Key Features

  • OOP Architecture: Implements sophisticated inheritance hierarchies and polymorphism to model chess pieces and game mechanics
  • Smart Pointer Memory Management: Uses modern C++ smart pointers (std::unique_ptr) for automatic, exception-safe memory management
  • Type-Safe Design: Type-safe operations and memory management with RAII principles
  • Extensible Framework: Modular architecture enables seamless addition of new piece types and game rules
  • Standards Compliance: Fully adheres to industry best practices and coding standards with integrated clang-format configuration
  • Comprehensive Documentation: Complete Doxygen-generated API documentation with code examples

Technical Specifications

  • Language: C++ 17
  • Build System: CMake 3.28+
  • Documentation: Doxygen
  • Platform Support: Windows and Linux
  • License: Apache License 2.0

Repository Structure

inheritance-chess/
├── include/
│ ├── board.hpp # Chess board interface and management
│ ├── common.hpp # Common types and definitions
│ ├── piezas.hpp # Base piece class definition
│ └── pawns.hpp # Pawn-specific implementation
├── src/
│ ├── board.cpp # Board implementation
│ ├── piezas.cpp # Base piece class implementation
│ └── pawns.cpp # Pawn implementation
├── main.cpp # Application entry point
├── CMakeLists.txt # CMake build configuration
├── build_project_windows.cmd # Windows build script
├── build_project_linux.sh # Linux build script
├── .clang-format # Code formatting standards
└── README.md # This file

Folder Descriptions

  • include/: Public declarations defining the chess engine's interface.
  • src/: Implementation of core chess engine components.
  • build/: Temporary directory containing compilation artifacts and build outputs (Not commited).
  • doc/: Generated HTML and reference documentation (Not commited).

Project Management

This project is managed using an engineering-focused Kanban board. See Kanban workflow for details on columns and flow.