我正在编写Robocode,现在我有一个编码问题:
我定义了类Enemy来存储敌人的信息(如航向、方位、速度等)。在这个类中,我还定义了一个名为direction的私有属性。然后,我使用公共的getter和setter来允许我的bot调用这些属性。但是当我使用enemy.setDirection(e.getDirection());时,NetBean集成开发环境显示它不正确。有人能帮我解决这个问题吗?
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
}
}发布于 2015-04-14 19:40:02
当您调用e.getDirection()时,它将在ScannedRobotEvent中查找该方法。但是getDirection()只为Enemy类声明。
发布于 2014-07-12 13:02:03
当您调用getDirection方法时,您必须输入属性,因此在本例中是一个ScannedRobotEvent和一个AdvancedRobot字段。
https://stackoverflow.com/questions/24709637
复制相似问题