Vorwort:
Da ich doch recht viele Anfragen bezüglich RoboCode bekommen hatte, wollte ich dieser großen Interesse nachkommen und hier ein umfangreiches Tutorial bereitstellen.
Sollten ich ein paar deiner Fragen nicht klären, kannst du mit mir über die Kommentarfunktion Kontakt auf nehmen.
Was ist RoboCode?:
RoboCode ist eine Umgebung, die es einem ermöglicht, eine Roboter KI zu entwickeln und gegen andere Roboter antreten zu lassen. Dabei entspricht das System dem für Spieler bekannten Deathmatch, also jeder gegen jeden.
Kennt man sich mit RoboCode genug aus, kann man auch Teams gegeneinander antreten lassen.
Ein Roboter verfügt dabei über einen fahrbaren Untersatz und einen Turm, auf dem Scaner und Kanone installiert sind.
Die Kanone verschießt Kugeln, die sich nicht so sehr schnell bewegen, sodass nicht jeder Schuss ein Treffer wird.
Wir fangen an! – Die Installation:
Bei der Installation gibt es eigentlich nicht viel zu beachten. Wichtig ist die aktuellste Version zu benutzen und Java installiert zu haben.
RoboCode: http://robocode.sourceforge.net/
Java: http://www.java.com/de/download/manual.jsp
Die Benutzeroberfläche:
Die Benutzeroberfläche ist sehr einfach gehalten. Die meisten Sachen sollten selbst erklärend sein, auch wenn man nur wenig Englisch beherrscht.
Unter dem Menüpunk „Battle” startet man einen neuen Kampf und unter “Robot” -> “Editor” öffnet man den mitgelieferten JavaEditor.
Unter “File” -> “New” -> “Robot” erstellt man die Vorlage für seinen ersten Roboter.
Als Beispiel nennen wir ihn mal „MeinErsterRoboter” und als Signatur geben wir „tutorial” an
Unter “Compiler” -> “Compile” compilieren wir unseren Roboter, um ihn anschließend benutzen zu können.
Hier bleibt jedem selber überlassen, welchen Editor oder Compiler er verwenden möchte, ich werden den mitgelieferten Compiler und Editor verwenden.
Das Aussehen – Roboter Design
Da unser Roboter ja nicht wie jeder andere aussehen soll, fangen wir mit dem einfärben der einzelnen Teile an. Denn wenn wir verlieren sollten, dann wenigstens mit Stil!
Farben werden in dem Fall wie folgt definiert:
new Color(0, 0, 0)
Hier wird ein neues Objekt “Color” erstellt. Dabei zählt auch hier RGB (Rot, Grün, Blau).
Wir entkommentieren den Befehl “import java.awt.Color;” in dem wir “//” entfernen:
1 2 3 4 5 6 7 8 9 10 11 | package tutorial; import robocode.*; import java.awt.Color; // <- Der Befehl war auskommentiert /** * MeinErsterRoboter - a robot by (your name here) */ public class MeinErsterRoboter extends Robot { // Robotter standart Aktion public void run() { |
Genau nach dem Code Teil kommt dann unsere Färbung:
1 2 3 4 5 6 | // Färbung 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 |
Nun speichern wir unseren ersten Roboter ab und compilieren ihn.
Der erste Kampf:
Um unseren ersten Roboter zu testen, gehen wir auf “Battle” -> “New”.
Im Packages suchen wir unsere Signatur “tutorial” und wählen “MeinErsterRoboter” mit einem klick auf “Add” aus. Entweder suchen wir nun einen anderen Roboter aus oder fügen ihn nochmals hinzu. Ich habe einfach zwei mal “MeinErstenRoboter” genommen.
Mit einem Klick auf “Start Battle” starten wir unseren ersten Kampf.
Analyse:
So, nun bist du bestimmt erst mal enttäuscht, den die Roboter sind doof wie Stroh und fahren nur hin und her. Eigentlich verliert nur der Roboter, der als letztes keine Energie mehr hat um auszuweichen.
Wir sollten unseren Roboter also verbessern. Hier kommst du ins Spiel!
Denk dir eine Strategie aus und setze sie um!
Fortsetzung folgt….