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);
}