http://www.robocoderepository.com/BotDetail.jsp?id=3636
Not sure for now.
A combination of StopAndGo with additional stuff.
Semi - Linear Targeting
The choice is Yours, StopAndGo or WaveSurfing
No Difference
It does?
GFs being hit by enemy (between rounds).
It is supposed to Surf, so I want it to surf as a Nano Well, Thus AceSurf.
Please Follow the RWCPL
import robocode.AdvancedRobot; import robocode.HitByBulletEvent?; import robocode.HitWallEvent?; import robocode.ScannedRobotEvent; import robocode.util.Utils;
public class AceSurf extends AdvancedRobot {
private static double move = 100, enemyEnergy; private static int[] hit = new int[41]; //hit array to track where I am hit private static int gf = 0; public void run() { // helps targeting accuracy //setAdjustRadarForGunTurn(true); setAdjustGunForRobotTurn(true);
turnRadarRightRadians?(Double.POSITIVE_INFINITY); //turn Radar }
public void onScannedRobot(ScannedRobotEvent e) { double reuse = 10000; //Ultimate? variable setTurnRadarLeftRadians(getRadarTurnRemaining?()); //Radar? Lock //if enemy fired a bullet if (enemyEnergy > (enemyEnergy = e.getEnergy())) { gf = (int)((3*move*Math.random()))/20; //get GF for(int x = 0; x < 41; x++) //loop through the array if(hit[x] < reuse) reuse = hit[x]; // get least dangerous one if(hit[gf+20] > reuse) move = -move; //if it is more dangerous than it, reverse
//out.println(gf); setMaxVelocity?(8); ///kae it 8 for consistency setAhead(3*move*Math.random()); //Move? with whatever distance you deifned } // turn perpendicular with range control (approx not so close and not so far, I hope) setTurnRightRadians?(Math.cos((reuse = e.getBearingRadians?()) - 5000/10000)); //semi - linear targeting (from the wiki) setTurnGunRightRadians?(Utils.normalRelativeAngle((reuse += getHeadingRadians()) - getGunHeadingRadians?() + (e.getVelocity() * Math.sin(e.getHeadingRadians() - reuse) / 24.0))); setFire(2.5); //best firepower } public void onHitByBullet?(HitByBulletEvent? e){ hit[gf+20]+=1; //log your gf hits }
public void onHitWall?(HitWallEvent? e) { setAhead(move = -move); //kinda bad, but best so far. }}
better movement
The Neophyte series and Splinter perhaps. I don't have much space for my gun.
The nano linear targeting, modified by me after using it.