Battleship (ver. 0.5): Project Submission

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

Posted in project submission | Leave a comment

Battleship: Analysis Phase – UML (preliminary version 0.4)

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.

Posted in phases | Leave a comment

Battleship: Analysis Phase – UML (preliminary version 0.3)

Another update.  Again, yellow-highlighted areas denote incomplete/in-progress classes.

Posted in phases | Leave a comment

Battleship: Analysis Phase – UML (preliminary version 0.2)

Fields and methods added for most classes.  Yellow-highlighted areas denote incomplete/in-progress classes.

Posted in phases | 1 Comment

Battleship: Analysis Phase – Diagrams

Below are drafts of the Entity-Relationship Diagram and Java UML.

Battleship - Entity-Relationship Diagram

The Leaderboard table contains many Players.

Battleship - Java UML

Fields and methods to be determined . . .

Posted in phases | Leave a comment

Battleship: Analysis Phase – GUI

Thus far in our development, the Battleship GUI contains five essential frames:

  • Main Menu
  • User Profile
  • Fleet Layout
  • Game Board
  • Leaderboard

Images of each prototype GUI frame can be seen below.

Main Menu

Battleship - Player Profile
Player Profile: User can login to or create their profile.

Battleship - Fleet Layout
Fleet Layout: Opponents align their respective fleets prior to game start.

Battleship - Game Board
Game Board

Battleship - Leaderboard
Leaderboard: Players are primarily ranked on win total.

 

 

Posted in phases | Leave a comment

Battleship: Design Phase

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.

Rules

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:

  • Aircraft Carrier (5 cells)
  • Battleship (4 cells)
  • Submarine (3 cells)
  • Destroyer (3 cells)
  • Patrol Boat (2 cells)

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:

  1. Miss: No hit is recorded.
  2. Hit: A hit is successfully recorded.
  3. Battleship Sunk: A player’s fleet is reduced by one.

The game ends when a player has no remaining ships.

Multiplayer

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.

Database

The game database will consist of AI difficulty patterns, user profile information, and a leaderboard ranking the best performing players.

Posted in phases | Leave a comment