I think we should all program with one robot like mtrawls said. You can see my response to this kind of over-complication here:
Focus on the competition
This is the overall structure that I propose:
Everything is written in Java. (If you want to, it may be possible to write in C and link into Java using Native methods, but that’s something to be discussed later). A simulator class will calculate the position of the robots and keep track of scores, the game world, etc. Each team submits one Java class that implements a “RobotCode” interface. Interrupts would not be implemented. The simulator would call an “Initialize” method on each Robot. Then, at every “frame”, the simulator class would call a “NextFrame” method on each robot so that it could calculate the signal to its motors. The robot can call a GetSensorValue method on the simulator to get sensor values. A summary follows:
|---------| <— GetSensorValue ------< |----------|
|Simulator| >— Initialize -------------> |RobotCode|
|---------| >— NextFrame -----------> |----------|