Im ersten Teil meines Tutorials zu Robocode hast du gelernt, wie du deinen ersten sehr einfachen Roboter erstellst und ihn gegen einen anderen kämpfen lässt.
Dabei bin ich weniger auf den Code eingegangen, sonder mehr auf die Benutzeroberfläche.
Hier möchte ich dir jetzt helfen, eine gewisse Ordnung in dein Roboter-Programm zu bringen und biete dir deshalb eine Vorlage zum Kopieren an. Der wenige Text ist eingedeutscht und ich habe noch ein paar sehr nützliche Funktionen hinzugefügt, die jedoch noch leer sind. Eine Vorlage eben.
Damit die Vorlage auch gleich für komplexere Roboter verwendet werden kann, wird hier gleich die “AdvancedRobot”-Class verwendet. Dies ist an folgenden Code-Teil zu erkennen: public class MeinErsterRoboter extends AdvancedRobot {
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | package tutorial; import robocode.*; import java.awt.Color; /** * MeinErsterRoboter - a robot by (your name here) */ public class MeinErsterRoboter extends AdvancedRobot { /** * run: MeinErsterRoboter's default behavior */ public void run() { // Aussehen des Roboters setBodyColor( new Color(0, 255, 0) ); // der Körper setBulletColor( new Color(255, 0, 0) ); // die Kugel setGunColor( new Color(0, 0, 255) ); // die Kanone setRadarColor( new Color(255, 0, 0) ); // das Radar setScanColor( new Color(0, 255, 0) ); // der Scanbereich /** * Standart Aktion */ while(true) { ahead(100); turnGunRight(360); back(100); turnGunRight(360); } } /** * onScannedRobot: Was tun, wenn feindlicher Roboter erkannt */ public void onScannedRobot(ScannedRobotEvent e) { fire(1); } /** * onHitByBullet: Was tun, wenn von Kugel getroffen */ public void onHitByBullet(HitByBulletEvent e) { turnLeft(90 - e.getBearing()); } /** * onHitRobot: Was tun, wenn gegen anderen Roboter gefahren wird */ public void onHitRobot(HitRobotEvent e) { } /** * onHitWall: Was tun, wenn gegen eine Wand gefahren wird */ public void onHitWall(HitWallEvent e) { } /** * onBulletHit: Was tun, wenn meine Kugel trifft */ public void onBulletHit(BulletHitEvent e) { } /** * onBulletMissed: Was tun, wenn meine Kugel daneben geht */ public void onBulletMissed(BulletMissedEvent e) { } /** * onDeath: Was tun, wenn ich besiegt wurde */ public void onDeath(DeathEvent e) { } /* ************************************** * Meine eigenen Funktionen: ************************************** */ } |