Battleship Redux
The game Battleship is back and better than ever. Instead of hacking everything together in C, you will instead leverage C++ and all of your newly gained object oriented programming knowledge to construct a much cleaner end product. If you need a refresher on Andy's basic requirements, see this webpage.
Note that we will modify the assignment in the following manner:
Object oriented instead of procedural
Your program must use object oriented design principles. That means that you should use classes when appropriate. For example, use a basic Ship class and inheritance to represent all of the different ship sizes in the game. Also, it might be a good idea to use classes to represent the game board, players, and results.
Multiple game modes
Your game should allow for hotseat (player vs. player), player vs. computer, and computer vs. computer play. To that end, you must attempt to create a somewhat intelligent computer AI.
Output file format
Now that we know all about CSV files, you must convert your logfile to CSV format using the following columns: ", , ".
Header Comment, and Formatting
1. Be sure to modify the file header comment at the top of your script to indicate your name, student ID, completion time, and the names of any individuals that you collaborated with on the assignment.
2. Remember to follow the basic coding style guide. A basic list of rules can be found on OSBLE.