Ich versuche einen Roboter in der Robocode-Umgebung zu machen. Meine Frage ist, ob ich zum Beispiel die Methode "fire()" außerhalb meiner Roboterklasse aufrufen möchte (also die Klasse, die Robot erweitert und die Methoden run, onHitBybullet, ... hat), wie mache ich das? ?Ist es möglich, eine Robotermethode außerhalb der Roboterklasse "Haupt" aufzurufen?
Dies ist nur eines der Dinge, die ich versucht (meine letzte):
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());
}
}
Interpreter Code:
Paket Probe;
public class Interpretator extends MyFirstRobot
{
public Interpretator(){
}
public void onScan(){
fire(1); //won't work, throws "you cannot call fire() before run()"
}
}
Ich bin kein Experte in Java überhaupt, vielleicht bin ich etwas fehlt, aber ich versuchte, eine andere Klasse zu schaffen und macht es meine Roboter-Klasse erweitern (daher der Roboter Methoden vererben), aber dann java warf Fehler seit einer Klasse, die erweitert wird Robot benötigt die Methoden run, onHitByBullet ..
zeigen Bitte einen entsprechenden Code und Fehler usw. – OldProgrammer
Ich habe sie hinzugefügt – Dominus