Die Arbeit mit Roboterklassen
Projekte in BlueJ
Roboterprogramme lassen sich in BlueJ in sogenannten Projekten zusammenzufassen. Man könnte z.B. für jede neue Aufgabenstellung ein eigenes Projekt anlegen, wobei jede enthaltene Klasse einer Lösungsvariante entspricht. Zum Anlegen eines neuen Projektes öffnet man über den Menübefehl Projekt → Neues Projekt… einen Dialog zur Auswahl eines Verzeichnisses (im oberen Bereich) und Eingabe eines Projektnamens (im Feld Ordnername). BlueJ erzeugt dann im Dateisystem in dem gewählten Ordner einen neuen Unterordner mit dem Projektnamen und einigen enthaltenen Dateien.
Anlegen einer Roboterklasse
Zum Anlegen eines Roboterprogramms muss man innerhalb eines Projektes eine Java-Klasse erzeugen. BlueJ generiert dabei aus einer Vorlage eine Java-Datei im Projektordner. Innerhalb von BlueJ wird die neue Klasse im Projektfenster als rechteckiges Symbol mit dem Klassennamen angezeigt. Man geht dabei folgendermaßen vor:
- Man drückt auf die Schaltfläche Neue Klasse… .
- Man gibt in dem sich öffnenden Dialog im oberen Eingabefeld einen Namen für die Klasse an. Der Name beginnt üblicherweise mit einem Großbuchstaben und darf keine Sonder- oder Leerzeichen enthalten. Im unteren Abschnitt des Dialogs wählt man eine Vorlage für die Klasse aus. BlueJ fügt entsprechend der Auswahl automatisch passenden Beispielcode in die Programmdatei ein. Man kann sehr leicht eigene Klassenvorlagen in BlueJ erstellen. In dem gezeigten Beispiel wird die mit Jabotics ausgelieferte Vorlage Roboter verwendet, die für Programmieranfänger entworfen wurde. Die Vorlage Roboter2 richtet sich an etwas fortgeschrittene Programmierer.
Bearbeiten und Übersetzen der Programmdatei
Zum Bearbeiten einer Klasse führt man im Projektfenster einen Doppelklick auf dem Sympol der Klasse aus oder öffnet dessen Kontextmenü (rechte Maustaste) und wählt Bearbeiten. Es öffnet sich der Programmeditor (siehe Abbildung ganz oben). Der Programmtext wird automatisch gemäß seiner Struktur farbig hinterlegt. Änderungen am Programmtext speichert man über den Menübefehl Klasse → Speichern oder über die Tastenkombination Strg S.
Die neue Klasse enthält bereits ein kleines lauffähiges Beispielprogramm. Bevor man den automatisch generierten Programmtext verändert, sollte man zunächst die weiteren Schritte zum Übersetzen und Starten des Programms einmal durchspielen. Man kann sich auch den Programmtext im Abschnitt main einmal anschauen und versuchen, ohne genaue Kenntnis der verwendeten Methoden (Befehle) das Verhalten des Roboters vorherzusagen.
Zum Übersetzen des Programmtextes drückt man die Schaltfläche Übersetzen. Dabei werden auch bisher nicht gesicherte Änderungen dauerhaft gespeichert. Treten bei der Übersetzung Probleme auf, so wird der erste gefundene Fehler unten links angezeigt und der Cursor springt zu der fehlerhaften Programmstelle. Gibt es keine Fehler bei der Übersetzung, so erscheint unten links die Meldung: Klasse übersetzt – keine Syntaxfehler. Die Klasse kann auch aus dem Projektfenster heraus übersetzt werden. Dazu öffnet man durch Rechtsklick auf das entsprechende Klassensymbol das Kontextmenü und wählt den Menübefehl Übersetzen. Im Fehlerfall öffnet sich der Programmeditor und der Cursor springt an die Stelle, an der der Fehler gefunden wurde. Im Falle unseres frisch generierten Roboterprogramms sollten beim Übersetzen eigentlich keine Fehler auftreten.
Starten des Roboterprogramms im Simulationswerkzeug
Um eine Simulation des Roboterprogramms zu starten, öffnet man mit einem Rechtsklick auf das Programmsymbol im Projektfenster das Kontextmenü und wählt den Menüpunkt Roboter → Simulieren. Es öffnet sich das unten gezeigte Simulationswerkzeug. Genauere Informationen zum Umgang mit dem Werkzeug findet man auf eigenen Seiten zur Robotersimulation. Für einen ersten Test reicht es aus, den Roboter zunächst mittels Drag & Drop an eine beliebige Startposition innerhalb der Szenerie zu ziehen und in die gewünschte Richtung zu drehen, bevor man die Simulation durch Drücken der Schaltfläche Start beginnt. Im Falle des generierten Roboterprogramms muss man noch den Anweisungen auf dem Display des Roboterbausteins (rechts unten im Simulationsfenster) folgen, damit sich das Roboterprogramm beendet. Das Ende des Roboterlaufs wird durch ein akustisches Signal angezeigt.