首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Robocode Enemy类setDirection()调用

Robocode Enemy类setDirection()调用
EN

Stack Overflow用户
提问于 2014-07-12 12:24:44
回答 2查看 329关注 0票数 0

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

我定义了类Enemy来存储敌人的信息(如航向、方位、速度等)。在这个类中,我还定义了一个名为direction的私有属性。然后,我使用公共的getter和setter来允许我的bot调用这些属性。但是当我使用enemy.setDirection(e.getDirection());时,NetBean集成开发环境显示它不正确。有人能帮我解决这个问题吗?

代码语言:javascript
复制
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;
    }
}

然后在我的机器人课上:

代码语言:javascript
复制
public class myBot extends AdvancedRobot {
    private Enemy enemy = new Enemy();

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

回答 2

Stack Overflow用户

发布于 2015-04-14 19:40:02

当您调用e.getDirection()时,它将在ScannedRobotEvent中查找该方法。但是getDirection()只为Enemy类声明。

票数 1
EN

Stack Overflow用户

发布于 2014-07-12 13:02:03

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24709637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档