package session2; import java.awt.Color; import robocode.DeathEvent; import robocode.HitRobotEvent; import robocode.HitWallEvent; import robocode.Robot; import robocode.ScannedRobotEvent; import robocode.WinEvent; public class Apocalypse extends Robot { public void run(){ double gunHeat = getGunHeat(); setColors(Color.BLACK, Color.BLACK, Color.BLACK, Color.RED, Color.BLACK); setAdjustGunForRobotTurn(false); while(true){ while(true){ double regen = getEnergy(); if(regen<50){ back(200); } turnRight(360); turnLeft(360); } } } private void moveTo(double x, double y){ double currentX = getX(); double currentY = getY(); turnTo(270); ahead(getBattleFieldWidth()-getX()); turnTo(180); ahead(getBattleFieldHeight()-getY()); turnTo(0); ahead(y); turnTo(90); ahead(x); } private void turnTo (double degrees){ turnRight(degrees - getHeading()); } public void onScannedRobot(ScannedRobotEvent e) { double regen = getEnergy(); double distanceToMove = e.getDistance(); if(e.getDistance() < 40){ if(regen<40){ for(int i = 0; i < 5; i ++){ back(40); fire(3); } } fire(3); } fire(1); stop(); if(regen > 50){ ahead(distanceToMove); } } public void onHitRobot(HitRobotEvent e){ stop(); double regen = getEnergy(); if(regen<50){ back(200); } fire(3); fire(3); fire(3); fire(3); } public void onHitWall(HitWallEvent e){ double regen = getEnergy(); if( regen< 40){ moveTo(100,100); } } public void onDeath(DeathEvent e){ System.out.println("Crap."); } public void onWin(WinEvent e){ System.out.println("Apocalypse!!!!!"); } }