我在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);
}
}
请注意,see
和wallBool
是我的代码中先前已声明的变量。在函数的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);
}
检查永远不会打印到控制台。怎么了?
非常感谢任何帮助......
答案 0 :(得分:-1)
请确保您已将import robocode.ScannedRobotEvent;
放入导入中。如果您更改了订单,请将public void onScannedRobot(ScannedRobotEvent e)
放在public void run()
下方。