Robocode如何获取敌人的坐标

Ron*_*nan 4 java robocode

我一直在尝试获取敌人的坐标,以便我可以对他们所在的位置采取行动。我使用的代码似乎不起作用:

    double absBearing = e.getBearingRadians() + e.getHeadingRadians();
    double ex = getX() + e.getDistance() * Math.sin(absBearing);
    double ey = getY() + e.getDistance() * Math.cos(absBearing);
Run Code Online (Sandbox Code Playgroud)

我似乎正在得到奇怪的回报,这些回报给我的价值大于领域的大小,甚至是负数字,有人对如何修改这段代码以获取敌人的代码X以及Y与我X和相同的方式有任何想法Y吗?

Kri*_*ris 5

public class MyRobot extends AdvancedRobot {
    private RobotStatus robotStatus;

    (...)

    public void onStatus(StatusEvent e) {
        this.robotStatus = e.getStatus());
    }    

    public void onScannedRobot(ScannedRobotEvent e) {
        double angleToEnemy = e.getBearing();

        // Calculate the angle to the scanned robot
        double angle = Math.toRadians((robotStatus.getHeading() + angleToEnemy % 360);

        // Calculate the coordinates of the robot
        double enemyX = (robotStatus.getX() + Math.sin(angle) * e.getDistance());
        double enemyY = (robotStatus.getY() + Math.cos(angle) * e.getDistance());
    }

    (...)
}
Run Code Online (Sandbox Code Playgroud)