Robocode Enemy类setDirection()调用

时间:2014-07-12 04:24:44

标签: java robocode

我正在编程Robocode,现在我有一个编码问题:

我定义了类Enemy来存储敌人信息(例如航向,方位,速度等),在这个类中我还定义了一个名为direction的私有属性。然后我使用公共getter和setter来允许我的机器人调用这些属性。但是当我使用enemy.setDirection(e.getDirection());时,NetBean IDE会将其显示为不正确。有人可以帮助解决这个问题吗?

public class Enemy {
    // ...
    private double direction;

    public double getDirection(ScannedRobotEvent e, AdvancedRobot me) {
        direction = e.getBearing() + me.getHeading();
        return direction;
    }

    public void setDirection(double direction) {
        this.direction = direction;
    }
}

然后在我的机器人课上:

public class myBot extends AdvancedRobot {
    private Enemy enemy = new Enemy();

    public onScannedRobot(ScannedRobotEvent e) {
        enemy.setDirection(e.getDirection()); // Here is the problem
    }
}

2 个答案:

答案 0 :(得分:1)

当您致电e.getDirection()时,它正在ScannedRobotEvent中寻找该方法。但getDirection()仅为敌人类宣布。

答案 1 :(得分:0)

调用getDirection方法时,必须输入属性,因此在本例中为ScannedRobotEvent和AdvancedRobot字段。