Magneton Board Game

This was the final project for the Programming for IT III Java course at RIT in May 2005. The class was broken up into teams of 3 or 4 people. The class as a whole decided on the protocol specification for the game. Each team had to implement both a client and a server application that were required to inter-operate with the other teams' applications.

Requirements

Starting the Server

Magneton Server

Depending on how Java is set up, you may be able to just double-click the MagServer.jar file. If not, go to the command prompt and type: java -jar MagServer.jar. A port number can be specified on the command line: java -jar MagServer.jar 5643. The default port is 4567. NOTE: Clients are paired together in the order they connect.

Starting the Client

Magneton Client

Depending on how Java is set up, you may be able to just double-click the MagClient.jar file. If not, go to the command prompt and type: java -jar MagClient.jar. To connect to a server running on the same machine, enter localhost for the server address. In the GUI, you can specify a port number by adding a colon after the server IP address / host name followed by the port number. A username and server address can also be specified at the command line, except the server address comes first: java -jar MagClient.jar serverIP:6743 MyName. The default port is 4567.

Project Documentation

Project Requirements

  • Protocol Write-Up (10 points)
  • UML Class Diagram (10 points)
  • SERVER - jar file
    • Accepts connections from every team's client (multithreaded)
      • Accepts intra-team clients (10 points)
      • Accepts inter-team clients (10 points)
    • Being able to pair two clients to play a Magneton game
      • Maintain the information about the game board so that it can determine if a requested move is valid or not (10 points)
      • Decide and announce the winner (10 points)
  • CLIENT - jar file
    • Must be able to log onto every team's server (multithreaded)
      • Log onto the intra-team server (5 points)
      • Log onto inter-team servers (10 points)
    • Maintain its own GUI version of the Magneton game on which the state of the game is displayed (10 points)
  • DOCUMENTATION
    • Design documented via UML diagrams (identify modifications made to the original submission) (5 points)
    • JavaDoc and Code commented (10 points)

The project met all of the requirements and was also awarded 14 bonus points for including additional features such as commands, chat, private chat and server view for a total of 114 points and the highest grade in the class.

Aside from a few minor bug fixes, this project has been mostly unaltered since May 2005.