Я пытаюсь создать робота в среде robocode. Мой вопрос: если я хочу (например) вызвать метод «fire()» вне моего класса робота (поэтому класс, который расширяет робот и имеет методы runHitBybullet, ...), как это сделать ?Можно ли вызвать метод робота вне «основного» класса роботов?
Это лишь одна из вещей, которые я пробовал (мой последний):
package sample;
import robocode.HitByBulletEvent;
import robocode.Robot;
import robocode.ScannedRobotEvent;
import sample.Interpretater;
public class MyFirstRobot extends Robot {
Interpretater inter;
public void run() {
intel = new Interpretator();
while (true) {
ahead(50); // Move ahead 100
//turnGunRight(360); // Spin gun around
back(50); // Move back 100
//turnGunRight(360); // Spin gun around
}
}
public void onScannedRobot(ScannedRobotEvent e) {
/*If I write fire() here, it will work, but I want to call it
from some other class (intel)*/
inter.onScan();
}
public void onHitByBullet(HitByBulletEvent e) {
turnLeft(90 - e.getBearing());
}
}
Переводчик код:
образец пакета;
public class Interpretator extends MyFirstRobot
{
public Interpretator(){
}
public void onScan(){
fire(1); //won't work, throws "you cannot call fire() before run()"
}
}
Я не эксперт в области Java на всех, так что, может быть, я что-то не хватает, но я попытался создать другой класс и сделать его расширить мой класс робот (поэтому наследуя методы Robot), но затем бросил Java ошибки, поскольку класс, который расширяет Robot, нуждается в методах run, onHitByBullet ...
Пожалуйста, покажите соответствующий код и ошибки, и т.д. – OldProgrammer
Я добавил их – Dominus