Play with Robocode.You program Bots in Java then set them loose on each other. It's fun.

http://robocode.sourceforge.net/