Nachschlagen

Karel-Referenz

Diese Seite sammelt die bisher unterstützte Karel-Sprache an einem Ort. Sie ist als Nachschlagewerk gedacht, wenn du beim Programmieren kurz Schreibweise oder Bedeutung prüfen möchtest.

Grundbefehle

BefehlBedeutung
move()Karel geht ein Feld nach vorne.
turn_left()Karel dreht sich um 90 Grad nach links.
turn_right()Karel dreht sich um 90 Grad nach rechts.
turn_around()Karel dreht sich um 180 Grad.
pick_beeper()Karel hebt einen Beeper auf dem aktuellen Feld auf.
put_beeper()Karel legt einen Beeper auf dem aktuellen Feld ab.
paint_field("blue")Karel bemalt das aktuelle Feld mit der angegebenen Farbe.

Programmstruktur

from karel import *


def main():
    # Code, der beim Start ausgeführt wird
    pass


def eigene_funktion():
    # weitere Funktionen stehen nach main()
    pass

Kommentare

Alles nach einem # ist ein Kommentar und wird von Karel nicht ausgeführt.

# Karel ignoriert diese Zeile.
move()  # Dieser Kommentar steht hinter einem Befehl.

Kontrollstrukturen

if bedingung():
    code_wenn_wahr()
else:
    code_wenn_falsch()

for i in range(4):
    code_wiederholen()

while bedingung():
    code_wiederholen()

Variablen

steps = 0
steps = steps + 1
color = "blue"

if steps == 3:
    put_beeper()

for i in range(steps):
    move()

paint_field(color)

Der Runner unterstützt einfache Ganzzahl-Variablen, String-Variablen für Farbnamen, Addition und Subtraktion sowie Vergleiche mit ==, !=, <, <=, > und >=.

Funktionen

def name():
    befehl()
    noch_ein_befehl()

Funktionen werden mit defdefiniert. Ihr Körper ist eingerückt. Danach kannst du die Funktion wie einen normalen Befehl aufrufen.

Bedingungen

BedingungGegenteilBedeutung
front_is_clear()front_is_blocked()Ist vor Karel der Weg frei?
beepers_present()no_beepers_present()Liegt auf Karels Feld ein Beeper?
left_is_clear()left_is_blocked()Ist links von Karel der Weg frei?
right_is_clear()right_is_blocked()Ist rechts von Karel der Weg frei?
beepers_in_bag()no_beepers_in_bag()Hat Karel Beeper in der Tasche?
facing_north()not_facing_north()Schaut Karel nach Norden?
facing_south()not_facing_south()Schaut Karel nach Süden?
facing_east()not_facing_east()Schaut Karel nach Osten?
facing_west()not_facing_west()Schaut Karel nach Westen?