Table of Contents
Name: Battleship
Started: 4/16/24
Description: The project is a Java implementation of the classic Battleship game, comprising a modular architecture with ten distinct Java classes. It employs object-oriented programming principles, with each ship type (Battleship, Cruiser, Destroyer, Submarine, EmptySea) encapsulated in its respective class inheriting from an abstract Ship class. The Ocean class serves as the game board, managing ship placement and tracking hits and misses. Additional classes handle visual representation, ship placement logic, and player interaction. This project showcases different aspects in Java programming, including inheritance, abstraction, and encapsulation, as well as effective project organization and modular design, resulting in a functional and scalable implementation of the Battleship game.
The board will be randomly populated with the following hidden ship:
1 Battleship (Length 4)
2 Cruisers (Length 3)
3 Destroyers (Length 2)
4 Submarines (Length 1)
The player will then select a box to hit by entering a row and column input.
Feel free to leave suggestions or ask questions about any part of the project!
Kai Fang - ([email protected])
Project Link: https://github.com/haifromkai/Battleship