Skip to content

ObsidianHonorCoders/inheritance-chess

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.

About

C++ chess engine featuring a polymorphic architecture through class inheritance.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors