This poker game project simulates the logic behind comparing two five-card poker hands to determine a winner. Designed with object-oriented principles, it features a structured system for parsing, validating, and scoring hands based on traditional poker rules. Players can enter hands in shorthand notation (like “AH KD QS JC 10H”), and the program will identify hand types—such as pairs, flushes, or full houses—and announce the winning hand or a tie.

The application includes an intuitive console interface and a comprehensive testing suite to ensure accuracy, even in edge cases or with invalid input. It not only reinforces programming concepts such as encapsulation, bitmasking, and unit testing but also offers a practical demonstration of game logic implementation in C++.