Karel J. Robot Simulator für vereinfachte Syntax

FAQ

Bei Problemen, die nicht hier in der FAQ beschrieben werden: schaut bitte immer erst auf der Startseite nach, ob der Fehler schon bekannt ist, bevor Ihr eine Email schreibt. Falls der Fehler bekannt ist, wird er so schnell wie mögloch korrigiert und eine neue Version zum Download zur Verfügung gestellt!

Ich kriege die Compiler-Fehlermeldung: "Ein Compiler-Fehler ist in einer generierten Zeile aufgetreten. Recompiliere ... manuel für eine detailierte Fehlermeldung."
Diese Fehlermeldung wird von dem Simulator ausgegeben, wenn der Compiler einen Fehler meldet, der in einer vom Simulator generierten Zeile ist. Eine mögliche Fehlerquelle ist, daß die Datei KarelLib.jar nicht im Klassenpfad ist. Dann beziehen sich nämlich generierte Zeilen auf Klassen, die der Compiler nicht kennt. Diese Fehler sollte nicht auftreten, wenn sich die Datei KarelLib.jar im Arbeitsverzeichnis befindet.

Das Simulationsfenster wird gestartet, aber sie läuft nicht bis zum Ende.
Dieses Problem ist bei mir manchmal aufgetreten, wenn ich denselben Task mehrere Male hintereinander gestartet habe. Ich kann leider nicht sagen, woran das liegt, weil dieses Problem anscheinend in den Klassen der Autoren von KarelJ liegt. Allerdings läuft die Simulation irgendwann weiter, was aber auch sehr lange dauern kann. Ich habe manchmal erfolg damit gehabt, die Simulation nochmal zu starten, mit einer anderen Verzögerung.
Es ist auch möglich, daß der Roboter sich "not-abgeschaltet" hat. Auf der Konsole werden für jede Aktion, die der Roboter ausführt eine Zeile ausgegeben. Genauso auch, wenn er sich abschaltet. Du kannst also dort nachsehen, ob sich der Roboter abgeschaltet hat. Dann ist ein Laufzeitfehler in dem Task aufgetreten. Vielleicht hast Du vergessen, eine Weltdatei zu laden, und versuchst deshalb einen Beeper aufzuheben, der gar nicht da ist. Oder der Roboter ist gegen eine Wand gelaufen, an die Du nicht gedacht hast.

Bei der Simulation sehe ich den Roboter nicht.
Der Roboter wird über Bitmaps dargestellt. Deshalb müssen die Bilddateien im Arbeitsverzeichnis sein. Du kannst sie einfach herunterladen, und in das Verzeichnis kopieren, von dem aus Du den Simulator startest.

Ich bekomme eine Fehlermeldung, die ich nicht verstehe.
Wenn ein Fehler auftritt, wird zuerst eine Zeile ausgegeben, die beschreibt, wobei der Fehler aufgetreten ist. Daran kann man eventuel schon den Fehler erkennen. Wenn z.B. ein Fehler beim Lesen der Task Datei auftritt, ist vielleicht der Dateiname falsch geschrieben, oder ähnliches. Nach dieser Zeile folgt die Komplette Fehlermeldung, die in dem Programm aufgetreten ist. In der ersten Zeile diese Meldung steht der Klassenname des Ausnahmefehlers, der aufgetreten ist. Du kannst in der Java API Dokumentation von Sun die Dokumentation zu dieser Klasse finden. Dort wird beschrieben, wobei dieser Fehler auftreten kann.

In der RBG Poolrämen wird von der Simulation nicht jeder Schritt angezeigt.
Tja, in den Poolrämen gibt es ein kleines Problem mit der Graphikgarstellung. Die beste Möglichkeit ist, die Verzögerung hochzustellen (50 ist eigentlich schon ein ganz guter Wert). Unter Windows oder Linux System ist dieses Problem noch nicht aufgetreten. Also, wenn Du die Möglichkeit hast, zu Hause zu arbeiten, sollte dann das Problem nicht mehr auftreten.

Ich bekomme folgende Fehlermeldung:

myclass.java:5: myclass(int,int,int,int) is already defined in myclass
myclass(int a, int b, int c, int d) { ... }

Der Simulator erzeugt automatisch selbst einen Konstruktor mit der Signatur <init>(int, int, int, int). Falls Dein Code nun auch so einen Konstruktor enthält, kommt es zu einem Konflikt. Die einzige Lösung ist es, Deinen Konstruktor zu löschen.

Ich bekomme folgende Fehlermeldung:

java.io.IOException: CreateProcess: javac -classpath ;SimplifiedKarelJ.jar;Karel
Lib.jar;. -d . .\KarelJTask.java error=2
        at java.lang.Win32Process.create(Native Method)
        ...

Das Verzeichnis, das java.exe und javac.exe enthält, muß sich im Pfad befinden. D.h. es muß in der Umgebungsvariablen PATH stehen. Unter Windows NT/2000 kannst Du das so einstellen:
Systemsteuerung->System->Erweitert->Umgebungsvariablen
Dort PATH auswählen, bearbeiten und den entsprechenden Pfad hinzufügen.
Unter Unix:
echo "export PATH=/usr/j2se/bin:$PATH" >> .profile
unter Umständen muß der Pfad noch angepaßt werden. So stimmt er für die Rechner in der RBG.

nach dem Befehl javac WorldCreator.java erhalte ich die Fehlermeldung:

WorldCreator.java:1: Package kareltherobot not found in import.
import kareltherobot.*;

Das Skript, das den Simulator startet, setzt den CLASSPATH automatisch richtig. Das fehlt leider, wenn man das Skript nicht verwenden kann. Also der CLASSPATH muß die Datei KarelLib.jar beinhalten. Am besten auch die Datei SimplifiedKarelJ.jar. Ihr könnt das folgendermaßen erreichen:
Windows NT/2000:
Systemsteuerung->System->Erweitert->Umgebungsvariablen
Dort CLASSPATH auswählen, bearbeiten und den entsprechenden Verzeichnis\KarelLib.jar und Verzeichnis\SimplifiedKarelJ.jar hinzufügen.
Unter Unix:
echo "export CLASSPATH=Verzeichnis/KarelLib.jar:Verzeichnis/KarelLib.jar:$CLASSPATH" >> .profile