Battleship
A complete game with a bot that hunts you down .
C++ with an inheritance hierarchy: Combat base class, Player layer, then User and Bot specializations. The bot uses a finite state machine, a random search until it lands a hit, then destroy mode, pushing orthogonal neighbors onto a std::queue and strikes them one by one before returning to search mode.
Ship placement supports horizontal and vertical with bidirectional bounds checking if a ship can't extend right from the anchor, it falls back left. Each grid cell holds an O(1) pointer to its ship for immediate hit detection. There are five ship types, ranging from a Destroyer (2) to a Carrier (5).