package cx.femto; import robocode.*; /** *----------------------------------------------------------------- * @author:iiley (iiley@hotmail.com) * https://www.robochina.org * When i miss her,I fish out a cigarat,smoking deeply,missing deeply.... * I spit a circle smog,I see she was smileing there * 1.0: Smog's femto version.Maybe it can did better than Smog?(codesize:186) * future:let me smoke some first! *------------------------------------------------------------------ * Thanks to the following: * dummy * Daniel Pereira * robotobo * kawigi * and a general thanks to all NanoBot developers for being so creative */ public class Smogg extends AdvancedRobot { private static double e_energy; public void run( ) { turnRadarRight(Double.POSITIVE_INFINITY); } // -------------------- function for event handle --------------- public void onScannedRobot( ScannedRobotEvent e ) { double enemyDir=e.getDistance(); //enemyDir is distance now if(e_energy!=(e_energy=e.getEnergy()) && getDistanceRemaining()==0){ setAhead(Math.sin(getTime()/8)*enemyDir*1.5); } //these code is used to around my rival prefer distance 140 //220=0.5*Math.PI*140,140 is the prefer distance enemyDir=220/enemyDir; setTurnRightRadians(e.getBearingRadians()-(getVelocity()>0?enemyDir:(Math.PI-enemyDir))); setTurnGunLeftRadians(Math.asin(Math.sin(getGunHeadingRadians()-(enemyDir=e.getBearingRadians()+getHeadingRadians())-Math.asin(e.getVelocity()*Math.sin(e.getHeadingRadians()-enemyDir)/11)*(1+Math.random()*(0.4-Math.abs(e.getVelocity())/10))))); setFire(e_energy/4d); setTurnRadarLeft(getRadarTurnRemaining()); } }