GSoC/GCI Archive
Google Code-in 2010 Tux4Kids

Create interface for user to select server in LAN game in TuxMath

completed by: Neynt

mentors: David Bruce

TuxMath (1.8.0 or later, including version in Git) now supports LAN multiplayer competition.  If a single server program is detected, the client program connects automatically.  If multiple servers are detected, the program displays a message asking that all but one be stopped.

This task is to display a list of detected servers to the user and allow the user to select the desired one.

To do this task, you need to clone the current git repository for tuxmath and set up a build environment.  Go to http://tux4kids.alioth.debian.org and follow the "For Developers" directions.

It will be overwhelmingly easier to do this in Linux than in Windows.  If you just have a Windows box, the easiest thing you can do is to put an "easy" Linux distro like Ubuntu on part of your hard drive, rather than trying to set up a native Windows build.

Once you have tuxmath building OK, look in menu.c, highscore.c, and network.c for the relevant code.  There is a function called detecting_servers() in highscore.c - look at line 1143 for //TODO display list of servers to choose from.

Write some C code that accomplishes that, test it, and submit it as a patch.

 

In all honesty, this probably cannot be done in a week unless you are quite experienced in C and SDL and have nothing else to do.  But if you want to start coding on TuxMath and are planning to get everything set up anyway, the coding itself isn't that big of a project.