This is the formal project submission post.
Project diagrams and screenshots of testing output are in the gallery below.
Javadoc for the application can be downloaded here: http://www.mediafire.com/download/9p1udjf9ylfjvbt/battleship_javadoc.zip
This is the formal project submission post.
Project diagrams and screenshots of testing output are in the gallery below.
Javadoc for the application can be downloaded here: http://www.mediafire.com/download/9p1udjf9ylfjvbt/battleship_javadoc.zip
Another update. Anything not in yellow is pretty much in its final form (but don’t hold me to that).
Things are fluid with regards to developing the model-view-controller portion of the game. The main point is that the controller appropriately update each player’s view (both will see different things on their screen, in most cases), and that the model contains sufficient enough methods to facilitate this.
Fields and methods added for most classes. Yellow-highlighted areas denote incomplete/in-progress classes.
Below are drafts of the Entity-Relationship Diagram and Java UML.
Thus far in our development, the Battleship GUI contains five essential frames:
Images of each prototype GUI frame can be seen below.
The group has decided to adapt the board game Battleship. Much of the basic rule set is being retained, with AI single player, as well as 2-player versus. In order to comply with the project parameters, we will be adding a leaderboard and networked multiplayer. The full design is outlined below.
The premise of Battleship is to sink the opponent’s fleet of ships. Each player is assigned a two private 10 x 10 grids; one grid is used to layout ships in consecutive, non-overlapping cells, either horizontally or vertically and another is used for hit-miss recording. The players are given one of each of the following types of ships:
When each player has finalized their fleet layout, turns are taken during which players will announce a cell they are attacking. One of three possibilities exist after a shot is fired:
The game ends when a player has no remaining ships.
Multiplayer will consist of 2-player head-to-head matches. Normal game rules apply, with the exception that wins-losses and other stats will be recorded. This will be implemented via user profiles.
The game database will consist of AI difficulty patterns, user profile information, and a leaderboard ranking the best performing players.