For our final project in Object-Oriented Programming, we were to program a chess implementation in C++ that made use of OOP design principles to create a fleshed-out, non-repetitive and reusable set of classes to represent each board piece, square, and player involved in the game. Movements are bound-checked and validated, and each successful move of a piece is followed by the board being updated and reprinted onto the screen. Movements are only permitted if they do not place a player's king within check, or if they remove their king from a check.
The entirety of the code is available upon request.
Note: Due to time constraints placed on the semester due to the pandemic, time was not allotted to provide a means to check for checkmate, meaning that the program will not end until the user ceases its execution. Additionally, specialty movements, such as "En Passant" and "Castling" were excluded for similar reasons.
© 2025 • All content within this project is strictly the property of Benjamin Harper and is not for public use without permission.