Durch Öffnen des Projektes in Pycharm sollten alle Projektabhängigkeiten automatisch geladen werden. Falls es Probleme gibt, müsste die Installation manuell durchgeführt werden:
- Im Projektordner soll ein Virtual Environment angelegt werden:
python -m venv venv
- Das Virtual Environment soll aktiviert werden:
.\venv\Scripts\activate
- Installation der Projektabhängigkeiten:
pip install -r requirements.txt
Funktion | Beschreibung |
---|---|
move() |
Karel bewegt sich eine Zelle in Blickrichtung |
turn_left() |
Karel dreht sich 90° nach links |
front_is_clear() |
Karel prüft ob er nach vorne gehen kann |
front_is_blocked() |
Karel prüft ob er nicht nach vorne gehen kann |
left_is_clear() |
Karel prüft ob er nach links gehen kann |
left_is_blocked() |
Karel prüft ob er nicht nach links gehen kann |
right_is_clear() |
Karel prüft ob er nach rechts gehen kann |
right_is_blocked() |
Karel prüft ob er nicht nach links gehen kann |
facing_north() |
Karel prüft ob er nach oben schaut |
not_facing_north() |
Karel prüft ob er nicht nach oben schaut |
facing_east() |
Karel prüft ob er nach rechts schaut |
not_facing_east() |
Karel prüft ob er nicht nach oben schaut |
facing_west() |
Karel prüft ob er nach links schaut |
not_facing_west() |
Karel prüft ob er nicht nach links schaut |
facing_south() |
Karel prüft ob er nach unten schaut |
not_facing_south() |
Karel prüft ob er nicht nach unten schaut |
Funktion | Beschreibung |
---|---|
put_beeper() |
Karel legt einen Beeper ab |
pick_beeper() |
Karel nimmt einen Beeper auf |
beepers_present() |
Karel prüft ob Beeper in der Zelle liegen |
no_beepers_present() |
Karel prüft ob keine Beeper in der Zelle liegen |
beepers_in_bag() |
Karel prüft ob Beeper in seiner Tasche liegen |
no_beepers_in_bag() |
Karel prüft ob keine Beeper in seiner Tasche liegen |
Funktion | Beschreibung |
---|---|
paint_corner(color) |
Karel färbt die Zelle mit der Farbe color |
corner_color_is(color) |
Karel prüft, ob die Zelle die Farbe color hat |
RED
BLACK
CYAN
DARK_GRAY
GRAY
GREEN
LIGHT_GRAY
MAGENTA
ORANGE
PINK
WHITE
BLUE
YELLOW
BLANK
- Karel startet in der linken unteren Ecke
- Karel soll bis zur rechten unteren Ecke wandern
- Alle Beeper die Karel findet, soll er in ein Hospital verwandeln
- Karel endet an der rechten unteren Ecke
- Karel startet in seinem Lesesessel in seinem Haus
- Karel soll die Zeitung vor der Türe holen
- Karel soll zurück an die Startposition geführt werden
- Karel startet in der linken unteren Ecke
- Karel soll die Säulen des Gewölbes reparieren
- Karel endet an der rechten unteren Ecke
- Karel startet in der linken unteren Ecke
- Karel soll eine Mauer um die quadratische Welt bauen
- Karel endet in der Startposition (Drehung beachten)
Die Welt kann eine beliebige Größe haben
- Karel startet in der linken unteren Ecke
- Karel soll auf den Berggipfel steigen
- Karel soll am Berggipfel einen Beeper ablegen
- Karel soll auf der anderen Seite den Berg absteigen
Die Welt kann eine beliebige Größe haben:
- Karel startet in der linken unteren Ecke
- Karel den Schatz heben
- Karel soll an die rechte untere Ecke gehen
Die Welt kann eine beliebige Größe haben
- Karel startet in der linken unteren Ecke
- Karel soll alle ungeraden Zeilen mit Beeper füllen
- Karel soll bis zur linken oberen Ecke wandern
Die Welt kann eine beliebige Größe haben
Die Welt kann auch Wände haben, welche nicht passierbar sind
- Karel startet in der linken unteren Ecke
- Karel soll bis an die linke obere Ecke Wandern und alle Zeilen durchgehen
- Dabei soll Karel alle Beeper aufnehmen und in allen Zellen die leer sind einen Beeper ablegen (Welt invertieren)
- Karel endet in der linken oberen Ecke
- Karel startet in der linken unteren Ecke
- Karel soll bis in die rechte untere Ecke Wandern
- Alle Blumenstängel sollen mit einer Blume geschmückt werden
- Karel endet in der rechten unteren Ecke
- Karel startet in der linken unteren Ecke
- Karel soll jede Zelle mit einer zufälligen Farbe tapezieren
- Karel endet in der rechten oberen Ecke
Zur Definition einer Karel Welt kann eine einfache Textdatei verwendet werden, welche die Dateiendung .w
hat.
In der Datei befinden sich je Zeile Definitionen für die Welt. Die Welt orientiert sich an einem Koordinatensystem entlang der x
bzw. y
Achse. Der Ursprung des Koordinatensystems ist die Zelle links unten mit Koordinate (1, 1)
.
Dimension: (x_len, y_len)
Mit dieser Zeile wird die Weltgröße definiert (x_len
,y_len
sind zu setzen)Karel: (x, y); orientation
Mitx
undy
wird die Koordinate von Karel definiert, mitorientation
(west
,east
,south
,north
) wird die Himmelsrichtung definiert, in die Karel blickt.Beeper: (x, y); count
Mitx
undy
wird die Koordinate eines Beeper definiert, mitcount
wird die Anzahl der Beeper definiert (zB1
)Wall: (x, y); orientation
Mitx
undy
wird die Koordinate der Zelle definiert, in der die Wand platziert werden soll. Mitorientation
wird die Position der Wand mit Referenz zur Zelle definiert (west
,east
,south
,north
). Mitwest
würde die Wand an der linken Seite der Zelle platziert.BeeperBag: count
Mitcount
wird die Anzahl der Beeper in Karel’s Tasche definiert, entweder eine Ganzzahl oder der WertINFINITY
Dimension: (5, 6)
Wall: (1, 3); south
Wall: (1, 4); east
Wall: (1, 5); east
Wall: (2, 3); west
Wall: (2, 5); north
Wall: (3, 5); north
Beeper: (1, 3); 1
Karel: (1, 1); east
BeeperBag: INFINITY