Java 在Robocode中未调用onScannedRobot方法

Java 在Robocode中未调用onScannedRobot方法,java,robocode,Java,Robocode,我正在用机器人代码创建一个简单的机器人。我有一个功能墙,如下所示: public void walls() { see = false; wallBool = true; double maxMove = Math.max(getBattleFieldWidth(), getBattleFieldHeight()); turnLeft(getHeading() % 90); ahead(maxMove);

我正在用机器人代码创建一个简单的机器人。我有一个功能墙,如下所示:

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);
        }
    }
支票从未打印到控制台。怎么了


非常感谢您的帮助……

请确保您已将import robocode.ScannedRobotEvent;在进口中。另外,如果您更改了顺序,请将public void on ScannedRobot事件保持在public void run函数的正下方。

我建议您简化代码,以便在发生扫描事件时仅旋转雷达并打印。然后再回到你现在的位置。同样,如果你试图向扫描的机器人射击,使用扫描机器人事件来放置你的射击。示例机器人程序的源代码是一个很好的起点。在Java中,在对象中声明函数的顺序并不重要。
public void onScannedRobot(ScannedRobotEvent e) {
    System.out.println("check");
    if (see==true) {
        System.out.println("check2");
        scan();
    }

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