All pastes #471695 Raw Edit

pkperson

public java v1 · immutable
·published 2007-05-05 02:09 UTC
rendered paste body
import java.util.HashMap;import java.util.LinkedList;import java.util.Map;import robocode.*;public class FirstRobot extends AdvancedRobot {		public void init(){		System.out.println("Good bye cruel world:");		new HashMap();		System.out.println("im dead");		//addCustomEvent(c);		//setAdjustRadarForGunTurn(false);		//setAdjustGunForRobotTurn(false);	}		public void run(){		System.out.println(this.getName());		init();		//turnRight(getHeading());		//turnGunRight(90);		while(true){			this.turnRadarRight(360);			//ahead(36);		}					}				public void onScannedRobot(ScannedRobotEvent e){		String name = e.getName();		if(!enemies.containsKey(name)){			enemies.put(name, new EnemyRecord());		}		enemies.get(name).update(e);	}		public double relToAbsHdgDeg(double deg){		return deg + getHeading();	}	public double relToAbsHdgRad(double rad){		return rad + getHeadingRadians();	}		public void aimGun(double hdg){		double change = (hdg - this.getGunHeading()+360)%360;		if(change > 0 && change < 180){			this.turnGunRight(change);		} else if(change > 180 && change < 360) {			this.turnGunLeft(360-change);		}	}		public void aimRobot(double hdg){		double change = (hdg - this.getHeading() + 360)%360;		if(change > 0 && change < 180){			this.turnRight(change);		} else if(change > 180 && change < 360) {			this.turnLeft(360-change);		}	}		Map<String, EnemyRecord> enemies = new HashMap<String,EnemyRecord>();	class EnemyRecord {		EnemyRecord(){		}		String name;		public void update(ScannedRobotEvent e){			double absHdg = relToAbsHdgRad(e.getBearingRadians());			double x = getX() + Math.cos(absHdg);			double y = getY() + Math.sin(absHdg);						System.out.println("Seen " + name + " at " + x + ", " + y);									log.add(new PosLog(getTime(),x,y,e.getHeading()));		}				LinkedList<PosLog> log = new LinkedList<PosLog>();				class PosLog{			long time;			double x;			double y;			double hdg;			public PosLog(long time, double x, double y, double hdg) {				this.time = time;this.x = x;this.y = y;this.hdg = hdg;			}		}	}}