Prosty robot dla Robocode Polska

Jedno z prostszych możliwych rozwiązań, które jednocześnie łatwo zmodyfikować do czegoś co będzie jako tako grało:

/**
    * Prosty robot, strzela prosto w przeciwnika i cały czas strafe'uje (jak w Quake'u).
    * Kod na licencji WTFPL (bo public domain u nas nie funkcjonuje).
    */
package lrem;

import java.awt.Color;

import robocode.AdvancedRobot;
import robocode.ScannedRobotEvent;

/**
    * @author lrem
    *
    */
public class Strafe extends AdvancedRobot {
    
    static int interwal = 30;
    
    public void run () {
        setColors(Color.white, Color.red, Color.white);
        setAdjustRadarForGunTurn(true);
        setAdjustGunForRobotTurn(true);
        setTurnRadarRightRadians(Double.POSITIVE_INFINITY);
        setAhead(Double.POSITIVE_INFINITY);
        int turDoZmianKierunku = interwal;
        int kierunek = 1;
        
        while(true) {
            if(--turDoZmianKierunku == 0) {
                kierunek *= -1;
                turDoZmianKierunku = interwal;
                setAhead(kierunek * Double.POSITIVE_INFINITY);
            }
            execute();
        }
        
    }
    
    public void onScannedRobot (ScannedRobotEvent e) {
        setTurnRadarLeftRadians(getRadarTurnRemainingRadians());
        setTurnGunRightRadians(robocode.util.Utils.normalRelativeAngle(getHeadingRadians() 
                + e.getBearingRadians() - getGunHeadingRadians()));
        setTurnRightRadians(robocode.util.Utils.normalRelativeAngle(e.getBearingRadians() - Math.PI / 2));
        setFire(2.0);
    }
}

Stworzony na użytek Robocode Polska.