Dir stehen 11 vor implementierte Funktionen/Befehle zur Verfügung, um Karel zu programmieren.
An dieser Stelle wollen wir erstmal auf die ersten 6 eingehen. (Später erweitern wir die Sprachreferenz um die sogenannten Kontrollstrukturen).
Anders als beispielsweise in der Arduino-IDE kannst du hier allerdings keine Variablen verwenden.
Tastenkürzel | Funktion | Beschreibung |
F1 | moveForward() | Karel bewegt sich ein Feld vorwärts in die Richtung, in die er gerade schaut. Misslingt, wenn eine Wand den Weg versperrt |
F2 | turnLeft() | Karel dreht sich um 90° nach links |
F3 | turnAround() | Karel dreht sich um 180° |
F4 | turnRight() | Karel dreht sich um 90° nach rechts |
F5 | pickBeeper() | Karel nimmt den Beeper von dem Feld, auf dem er gerade steht auf. Misslingt, wenn es keinen Beeper (auf dem Feld) gibt |
F6 | dropBeeper() | Karel wirft einen Beeper auf den Platz, auf dem er gerade steht Misslingt, wenn dort bereits ein Beeper liegt |
F12 | Startet dein Programm Stelle den Geschwindigkeitsregler auf 0 (ganz links), um das Programm Schritt für Schritt zu durchlaufen (für start && goal) |
Hier findest du Erklärungen, zu verschiedenen Sachen, die du in der Lernumgebung benutzen kannst.
Es bringt dir an der Stelle (am Anfang) nichts, die Sprachreferenz durchzuarbeiten. Fang einfach an, die ersten Kapitel der Lernumgebung zu programmieren und achte auf die Verlinkungen (der orangene Text zum anklicken)
Nutze die vorimplementierten Befehle (F1 – F6)
void karelsFirstProgram(){
moveForward();
moveForward();
moveForward();
moveForward();
turnAround();
moveForward();
moveForward();
moveForward();
moveForward();
}
Funktionsname
Keine Umlaute/Sonderzeichen/Leerzeichen: (also kein ä, ü, ö, ß , …) .
Der Name sollte auch nicht nur aus einem Großbuchstaben bestehen.
Klammern ()
Hinter dem Namen stehen runde Klammern
(Wird später nochmal wichtig)
Klammern { }
Zwischen den geschweiften Klammern stehen die Befehle (Anweisungen).
Tastenkürzel:
Windows: [ AltGr – 7 ] und [ AltGr – 9 ]
MacOS: [ Alt – 8 ] und [ Alt – 9 ]
Datentyp void
Was das heißt, schauen wir uns später an!
Jetzt könnt ihr für jede Funktion einfach void schreiben.
So siehts aus:
void Name() {
…
…
…
}
Um Befehle mehrfach zu verwenden, kann „repeat (#Anzahl)“ verwendet werden
Hier steht der selbe Code wie oben, nur anders geschrieben!
void karelsFirstProgram(){
repeat(4){
moveForward();
}
turnAround();
repeat(4){
moveForward();
}
}
Hinweis: Natürlich können in der Repeat-Anweisung auch mehrere Befehle stehen.
Es können auch „neue“ Funktionen erstellt werden: hier „laufen()“.
Die Funktion „laufen()“ wird aufgerufen.
Es ist also wieder der selbe Code wie oben, wieder anders geschrieben!
void karelsFirstProgram(){
laufen();
}
void laufen(){
moveForward();
moveForward();
moveForward();
moveForward();
turnAround();
moveForward();
moveForward();
moveForward();
moveForward();
}
Auskommentierter Text wird in der Lernumgebung grün dargestellt.
Auskommentiert heißt, dass es kein Code ist. Mit Kommentaren könnt ihr (euch) Notizen machen, Sachen erklären und vieles mehr!
In beiden Fällen macht Karel 1 Schritt vorwärts, weil die entsprechenden Code-Teile auskommentiert sind.
Tipp: Nur ein gut kommentierter Code ist ein guter Code. Andere (und vielleicht auch du in ein/zwei Jahren) wollen verstehen, was du programmiert hast.
// eine Zeile auskommentieren
void random_Funktion(){
laufen(); // lauf hin und zurück
turnAround(); // dreh dich um
// turnLeft();
moveForward(); // mache 1 Schritt
/* … */ Mehrere Zeilen auskommentieren
void random_Funktion(){
/* laufen();
turnAround();
turnLeft(); */
moveForward(); // mache 1 Schritt
In Anlehnung an: github.com/fredoverflow/karel