Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET.
So the name Robocode is short for "Robot code." The player is the programmer of the robot, who will have no direct influence on the game. Instead, the player must write the AI of the robot telling it how to behave and react to events occurring in the battle arena. Battles are running in real-time and on-screen.
Besides being a programming game, Robocode is used for learning how to program, primarily in the Java language, but other languages like C# and Scala are becoming popular as well.
Schools and universities are using Robocode as part of teaching how to program, but also for studying artificial intelligence (AI). The concept of Robocode is easy to understand, and a fun way to learn how to program.
Robocode combines learning to program while playing a game. If you've had difficulty learning to program in these two languages, Robocode might just help you along.