Para instalar basta entrar em http://robocode.sourceforge.net/download. Para o jogo rodar você precisa ter Java SE instalado: http://www.oracle.com/technetwork/java/javase/downloads/index.html.
A instalação é simples. É só seguir as instruções do próprio instalador.
Quando instalado, a primeira tela será essa:
Então você pode ir no menu Battle/New e terá a seguinte tela:
Nessa tela você terá um lista de pacotes(packages) e robôs(robots) daquele pacote selecionado .Então você adiciona os robôs que quiser na batalha, e clica no botão Start Battle. Quando você criar seus robôs e pacotes, eles serão listados nessa tela.
Aqui uma imagem da batalha:
Também temos o menu Robot/Editor. Isso irá abrir outra janela. Então na nova janela você seleciona o menu File/New/Robot. Isso irá criar uma classe com o nome que você definiu, e dentro do pacote que você criou. Essa classe por definição irá herdar da classe Robot. Sua classe virá com comandos pré-definidos, então você altera o comportamento do seu robô ao seu critério e lógica. Você sempre deve compilar sua classe para que o robô esteja disponível na listagem, ou para atualizar as modificações.
Meu robô se chama Robotec, e está no pacote fatec.robots. Veja imagem abaixo:
Abaixo segue todo o código que vem por padrão:
package fatec.robots;
import robocode.*;
//import java.awt.Color;
// API help : http://robocode.sourceforge.net/docs/robocode/robocode/Robot.html
/**
* Robotec - a robot by (your name here)
*/
public class Robotec extends Robot
{
/**
* run: Robotec's default behavior
*/
public void run() {
// Initialization of the robot should be put here
// After trying out your robot, try uncommenting the import at the top,
// and the next line:
// setColors(Color.red,Color.blue,Color.green); // body,gun,radar
// Robot main loop
while(true) {
// Replace the next 4 lines with any behavior you would like
ahead(100);
turnGunRight(360);
back(100);
turnGunRight(360);
}
}
/**
* onScannedRobot: What to do when you see another robot
*/
public void onScannedRobot(ScannedRobotEvent e) {
// Replace the next line with any behavior you would like
fire(1);
}
/**
* onHitByBullet: What to do when you're hit by a bullet
*/
public void onHitByBullet(HitByBulletEvent e) {
// Replace the next line with any behavior you would like
back(10);
}
/**
* onHitWall: What to do when you hit a wall
*/
public void onHitWall(HitWallEvent e) {
// Replace the next line with any behavior you would like
back(20);
}
}
Você pode achar todas as classes, métodos, implementações no seguinte link: http://robocode.sourceforge.net/docs/robocode/
Espero que tenham gostado! Eu ainda não estou muito familiarizado com Robocodes, mas o pouco que utilizei achei bem interessante. Logo mais escrevo mais sobre isso!