This is an extensive Chess Game Application in C++, with both a graphics-based and text-based frontend. Just like a traditional game of chess, this game let's you do all the classic Chess moves from en-passant to pawn promotion. It also calculates which player is in Check/Checkmate after every move, and notifies all players if any illegal moves are made on the board (no more sleight of hand!!), ensuring a fair and thrilling experience.
We designed this Chess application with OOP concepts at the heart of our design process. Along with using a Model-View-Controller (MVC) architecture, the program has been designed using the Observer Design Pattern, Decorator Pattern, Exception Handling, and much more!
With nearly a month of programming, 5317 lines of C++ code across 41 unique files, 78 commits, 15 pull requests, and 1197 unique messages across discord, this is a large-scale Object Oriented design of a Chess Game in C++.
