Метод onScannedRobot не вызывается в 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);
}
}
Обратите внимание, что 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);
}
Чек никогда не выводится на консоль. В чем дело?
Любая помощь будет принята с благодарностью...
1 ответ
Пожалуйста, убедитесь, что вы поставили import robocode.ScannedRobotEvent;
в импорте. Также сохраняйте public void onScannedRobot(ScannedRobotEvent e)
ниже public void run()
Функция в случае, если вы изменили порядок.