This battleship version enables users to choice from three different game modes: player vs player, player vs AI, AI vs AI.
The program is written using core object oriented programming skills, including abstract classes, inheritance and polymorphism in C++.