Robocode

From Wikibooks, the open-content textbooks collection

Jump to: navigation, search

[edit] FAQ

[edit] Code Snippets

  • If the enemy has fired
if (prevEnergy - currEnergy <= 3 && prevEnergy - currEnergy > 0) {
}
  • Get absoluteBearing
// ScannedRobotEvent e
double absoluteBearing = getHeadingRadians() + e.getBearingRadians();
  • Find enemy location
// ScannedRobotEvent e
double ex = getX() + Math.sin(absoluteBearing)*e.getDistance();
double ey = getY() + Math.cos(absoluteBearing)*e.getDistance();
  • Generate a random number within specified range
public int pickNumberInRange(int aLowerLimit, int aUpperLimit) {
   Random generator = new Random();
   // get the range, casting to long to avoid overflow problems
   long range = (long)aUpperLimit - (long)aLowerLimit + 1;
   // compute a fraction of the range, 0 <= frac < range
   long fraction = (long)(range * generator.nextDouble());
   return (int)(fraction + aLowerLimit);
}

[edit] Further reading