在Robocode中没有调用onScannedRobot方法

时间:2016-11-28 01:30:54

标签: java robocode

我在Robocode中创建了一个简单的机器人。我有一个功能如下所示:

public void walls() {
        see = false;
        wallBool = true;
        double maxMove = Math.max(getBattleFieldWidth(), getBattleFieldHeight());
        turnLeft(getHeading() % 90);
        ahead(maxMove);

        see = true;
        turnRight(90);
        turnGunRight((getHeading() - getGunHeading())+ 90);

        while (getEnergy() <= 115) {
            wallBool = true;
            see = true;
            ahead(maxMove);
            see = false;
            turnRight(90);
        }
    }

请注意,seewallBool是我的代码中先前已声明的变量。在函数的while循环中,我调用turnRight();方法,该方法应自动扫描其他机器人。但是,我的代码无法在我的onScannedRobot函数中运行,如下所示:

public void onScannedRobot(ScannedRobotEvent e) {
    System.out.println("check");
    if (see==true) {
        System.out.println("check2");
        scan();
    }

    if (wallBool==true) {
        fire(2);
    }

检查永远不会打印到控制台。怎么了?

非常感谢任何帮助......

1 个答案:

答案 0 :(得分:-1)

请确保您已将import robocode.ScannedRobotEvent;放入导入中。如果您更改了订单,请将public void onScannedRobot(ScannedRobotEvent e)放在public void run()下方。