Dreadnought A battleship-like game supporting online play. This project is being developed as part of Dr. Zhong's Data Communication and Networking class at Troy University however anyone is welcome to contribute. The project will be written using Java. Connecting two players over the network: In order for two opponents to play against each other, one must be designated as the game host. In the online game setup menu there will be two options: [1] Host a game If a player chooses this option, dreadnought will wait for a remote player to connect to it before the game begins. [2] Join a game If the player chooses this option, they will be prompted for the ip address of the host. Later will be develop a game server which will list the hosts which are waiting for someone to join. The game server will provide the following services: - Allow a client to announce that they would like to host a game. - Allow a client to retrieve a list of hosts who are waiting for someone to join. Once a host and client are paired up, they will communicate directly with each other. The game server will only be used to establish the connection between them. We would also like for the clients to be able to chat with each other. Development Strategy: First we build a prototype which is played locally and has a text based cli interface. Then we add support for online play and add a gui interface. Each player gets one of each of the following types of ships: Type of ship Length aircraft carrier 5 battleship 4 destroyer 3 submarine 3 patrol boat 2 There is one grid for each player. The size of the grid is traditionally 10x10. Traditionally the rows are given the numbers 1-10 and the columns are given the letters A-L Shots are described as [row][column] eg: fire A10 The ships cannot overlap, ie each sqare is occupied by at most one ship. Phases of Gameplay: Deployment The players choose where to place there ships. The players can also change the orientation of their ships from horizontal to vertical. Ships are horizontal by default. Rounds The players take turns firing shots into each others grid. A shot is either a hit or a miss. If the shot is a hit, the player may continue firing. The players turn ends when the player misses.