This is a little client-server game created for an assessment when I was studying Computer Network Engineering 1 at RMIT. The name "NumLock" comes from the main strategy - block the other player from accessing high numbers, while putting the other player in a position where he would be forced to give them to you.
From the readme.txt:
Gameplay
========
You and the server take turns in picking numbers from the grid. You may
only pick numbers on the *row* that the server made it's move; the
server picks numbers on the *column* that you made your move on. Thus a
good player can lock the other player out of the higher numbers.
The numbers you pick are added to your score and the highest score wins.
Note that the game will end if it is impossible for either player to
make a move (no numbers left on the row/column they are required to move
in).
The numbers in the highscore list are the player score minus the
computer score.
The original client and server were written in Java and the
assessment only required the server to interact with one client at a
time. During the holidays immediately after I had a little free time
and I fixed it to support multiple connections (which was pretty easy
in Java; just wrapped a lot of variabled and functions with the
synchronised keyword).
I decided I would like to run my own server at home; unfortunately at the time I was running a clunky old P2 with 64 MB of RAM as my 24/7 server, which wasn't quite up to Java. So I started to rewrite the server in C. Unortunately the next semester came around and I got caught up with coursework. It's been around 18 months since I touched it.
At the moment I'm too busy to finish off the C server, and even if I had the time to work on any game, it would probably be something more substantial. I've decided to dump it here in the hope that someone (possibly me) will get a proper server up and running.
Player vs. Player would be really neat to add.