Networked Boggle Game

Coded in Java | March 1, 2012
As part of a laboratory class in Java, I created a networked Boggle game consisting of a server to host the game and the client to play the game. Communication between the server and client uses Java's Remote Method Invocation (RMI) mechanism, and the server is able to handle multiple client connections, identified by username. I also created a simple graphical user interface for the client using the Java Swing API.

Starting a Game

When a client starts a game, it communicates with the server that it wants to start a game. The user will have to wait until there is another user to play with!
In the meantime, the server waits until there are enough players to start a game.
Boggle server is ready!
Client "user" wants to start a game.
Client "angela" wants to start a game.
=== NEW ROUND STARTING ===
Client "angela" is playing this round.
Client "user" is playing this round.
It prints out informative messages for easier debugging.

Playing a Game

The user interface has 20 buttons representing the 20 letter blocks. The user can click on any of the buttons.
Clicking on a letter will disable some of the other buttons, since in the Boggle game you can only create words with consecutive blocks.
As the player builds words, they appear on the left-hand side.
Above we have a nice list of words.

Ending a Game

Once the time is up, the game is over! The points are tallied based on the number of words found and the length of those words. The server tallies up these points and sends the players their results.
Client "user" has submitted a word-list of 4 words.
Client "angela" has submitted a word-list of 0 words.
Players can look at their score as well as their opponent's score.