Snakes in a Game

A game I helped make for a quarter-long team project for software engineering.

The program consists of three screens: the game screen, the teacher/board member screen, and the server screen. The game screen is obvious. It can only be seen by students. Individual game rules are explained at the beginning of each game. Use the arrow keys to move and don't hit the walls or move back on yourself! Words are chosen randomly with high priority given to words the student has spelled incorrectly, medium priority given to the words the teacher has added, and lowest priority given to the default words in the game (explained later). The teacher screen is where most of the magic happens. Here, you can add words, students, and phrases and they will start to show up in students' games on other computers as soon as you add them. The games will still run with no words added by the teacher as it comes with about 750 default words with some phrases. You can also view students' reports from the teacher screen. The reports show you what grade level they have advanced to, what words they have right, what word they have wrong, and how long they have played (cumulative). The board member screen shows statistics for each grade. It shows the percentage of kids who have played and the number of times each kid has played. Screenshots are shown below for people who don't feel like installing the program. However, if you would like to install the program:

Step 1: Download the archive (and Java 1.6 if you have problems and don't already have it) .

Step 2: Extract the archive into whatever directory you want the game to run from (files will be extracted to "./Snakes in a Game")

Step 3a: Run "Server.jar"

Step 3b: Click on the "Configure Server" tab.

Step 3c: Select your listening port (to avoid conflict, select a port larger than 50000) and click "Save Settings."

Step 3d: Select the "Activity Log" tab and click "Start Server."

Step 4: Run "Client.jar"

Step 5: Have fun. Add teacher and board member passwords from the server window.

"NetworkSetup.jar" is for when you install the game on other computers. It allows you to set the host and port of the server you wish to connect to for information (for use on computers that won't run the server).

System Requirements:
Java 1.5 or above, a network connection, at least 64MB RAM. (When playing on Windows XP, switch to Windows Classic View). Printer optional. The computer running the server should have a static IP address.


The login screen. Passwords or grade levels are prompted for later.

The teacher screen with a small sample class.

Report for a student showing his name, grade, level (sort of like a reading level), correct and incorrect words from this level, and other stats about his playtime. For longer lists, words will wrap at every fifth word.

The server screen showing commands sent to the server (starting with "> ") and from the server ("< ").

One of the games (Snake of Fortune) students will play. The word is shown on the top, and the round time is shown on the bottom. It is more obvious when you play which direction the snake is moving.

blog stats