little help
hi i've tried radial targeting but I kepp getting a error message. Could you guys just check my code.
package argeaer; import robocode.*; //import java.awt.Color;
/**
* Arg - a robot by (your name here) */
public class Arg extends Robot { /** * run: Arg's default behavior */ public void run() { // After trying out your robot, try uncommenting the import at the top, // and the next line: //setColors(Color.red,Color.blue,Color.green); while(true) { // Replace the next 4 lines with any behavior you would like ahead(100); turnGunRight(360); back(100); turnGunRight(360); } }
/** * onScannedRobot: What to do when you see another robot */ /**This function predicts the time of the intersection between the bullet and the target based on a simple iteration. It then moves the gun to the correct angle to fire on the target.**/ void doGun() {
long time; long nextTime; Point2D.Double p; p = new Point2D.Double(target.x, target.y); for (int i = 0; i < 10; i++){ nextTime = (intMath.round((getRange(getX(),getY(),p.x,p.y)/(20-(3*firePower)))); time = getTime() + nextTime; p = target.guessPosition(time); } /**Turn the gun to the correct angle**/ double gunOffset = getGunHeadingRadians() - (Math.PI/2 - Math.atan2(p.y - getY(), p.x - getX())); setTurnGunLeftRadians(normaliseBearing(gunOffset));
}
double normaliseBearing(double ang) {
if (ang > Math.PI) ang -= 2*PI; if (ang < -Math.PI) ang += 2*Math.PI; return ang;
}
public double getrange(double x1,double y1, double x2,double y2) {
double x = x2-x1; double y = y2-y1; double h = Math.sqrt( x*x + y*y ); return h;
}
/**
* onHitByBullet: What to do when you're hit by a bullet
*/
public void onHitByBullet(HitByBulletEvent e) {
turnLeft(90 - e.getBearing());
}
}
Please, format yours code and in future use tag <syntaxhighlight>. What kind of error message you get?