1 / 9

Java Battleship

Overview of the Server. Server component listens for connections from Client appletsServer also validates all moves and keeps track of game dataServer sends game information to the clientsServer automatically restarts and listens for new connections after a game is complete.At present only one g

radha
Download Presentation

Java Battleship

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Java Battleship Final Project CSCI 2001-91 Jeff Fisher

    2. Overview of the Server Server component listens for connections from Client applets Server also validates all moves and keeps track of game data Server sends game information to the clients Server automatically restarts and listens for new connections after a game is complete. At present only one game can be played at one time

    3. Overview of the Client Client applet connects to the Server application Client provides a graphical interface for the player Client does some validation of its own to prevent erroneous moves Client plays sounds and displays graphics during certain game events

    4. Basic Algorithm (Server) Application starts -> Initializes variables -> Binds to port 31337 and listens -> Uses threads interact with clients after they connect -> Main thread waits until end of game Player threads: Have players place their ships -> Wait until both have successfully placed ships -> Take turns accepting input from the client and making validating gameplay moves -> Update the client with information -> Determine GameOver and inform client of the victor -> Show the loser what ships he or she missed -> Tell the server to listen for more connections

    5. Basic Algorithm (Client) Applet starts -> Initializes variables and GUI -> Shows intro splash -> Solicits user for Server IP -> Connect to Server -> Allow player to place ships -> Allow player to make moves on their turn -> Plays sound effects -> Processes messages from server until end of game -> Shows endgame splash

    6. Packages/Techniques Used Packages java.net and java.io Private Classes Many arrays Sounds and Graphics A very large number of Swing components Signed Jar files Multithreading Mouse and Action Listeners Timers Lots and lots of trial and error

    7. Classes (Server) Class BattleShipServer Main class, extends JFrame, controls references to the other game objects and methods for them to manipulate one another. Class Player Extends Thread, controls connection to a Battleship client, allows player to place ships and take turns. Class Fleet Extends Object, contains information regarding a players fleet, contains references to Ship objects and an array that keeps track of grid data (hits, misses, water) Class Ship Also extends Object, holds information about a specific ship and the squares that make it up, also keeps track of the overall status of the ship itself.

    8. Classes (Client) Class BattleShipClient Main class, extends JApplet, controls a pretty GUI, and communicates with the Battleship Server. Class HelpFrame Provides a nice help window to explain the gameplay to a user.

    9. References Used Chapter on Networking in the text TicTacToe Sever/Client example The Java Tutorial and API Docs A Battleship Board Game Numerous Internet Tutorials Google! Battlefield 1942 For letting me borrow some sound effects and snippets of their intro movie

More Related