Kara
Kara ist ein Marienkäfer, der auf einem Gitter läuft, Beeren einsammelt und um Bäume herum muss. Im deutschsprachigen Raum ist er seit langem beliebt, um das Programmieren zu lernen; erdacht wurde er von SwissEduc. Die Schreibweise für Welten ist kompatibel zu GreenfootKara und den Pygame-Zero-Tutorials.
Was Kara kann
Diese Befehle verändern die Welt:
move() | einen Schritt nach vorn |
turnLeft() | nach links drehen |
turnRight() | nach rechts drehen |
putBerry() | eine Beere ablegen |
removeBerry() | eine Beere aufheben |
Diese fragen die Welt ab und liefern True oder False:
onBerry() | Sitze ich auf einer Beere? |
treeFront() | Ist vor mir ein Baum? |
treeLeft() | Ist links von mir ein Baum? |
treeRight() | Ist rechts von mir ein Baum? |
mushroomFront() | Ist vor mir ein Pilz? |
Wer lieber von Blättern als von Beeren spricht, nimmt putLeaf(),
removeLeaf() und onLeaf() — dieselben Felder, nur anders benannt.
Läuft Kara gegen einen Baum oder schiebt sie einen Pilz vor eine Wand, bricht das Programm mit
einer Fehlermeldung ab.
Der kürzeste Anfang
Zwei Zeilen genügen. Wer keine Welt angibt, bekommt eine Standardwelt gestellt — in ihr steht alles herum, was es überhaupt gibt, und Kara kann sofort loslaufen.
Kara läuft absichtlich gemächlich, damit man ihr zusehen kann. Wird das bei einem längeren Programm lästig, stellst du neben den Knöpfen das Tempo höher — auch mitten im Lauf. Das gehört zum Zusehen und nicht zum Programm: geteilt wird es nicht mit.
Drei Schreibweisen
Kara lässt sich auf drei Arten ansprechen, und alle drei tun dasselbe:
from kara import * | danach move() |
import kara | danach kara.move() |
k = kara.Kara() | danach k.move() |
Für den Anfang ist die erste die kürzeste: kein Objekt, kein Punkt, nur der Befehl. Die anderen beiden gibt es, damit Programme aus anderen Kara-Umgebungen hier laufen. Turtle verhält sich genauso.
Eine eigene Welt
world() setzt die Welt. Sie steht als Text zwischen dreifachen Anführungszeichen,
eine Zeile je Reihe:
Die Zeichen
@ | Kara |
# | Baum |
. | Beere |
+ | Kara auf einer Beere |
$ | Pilz |
* | Pilz auf einer Beere |
| Leerzeichen | leeres Feld |
Welt zusammenklicken
Statt die Zeichen abzuzählen, kannst du die Welt hier bauen und den fertigen Aufruf
übernehmen. Umgekehrt geht es auch: eine vorhandene Welt ins Textfeld kopieren und
ansehen, was darin steht. Die Dinge lassen sich stapeln — erst eine Beere, dann ein
Pilz darauf ergibt *, erst eine Beere, dann Kara ergibt +.
Ein zweiter Klick nimmt wieder weg.
Aufgaben daraus bauen
Der Import und die Welt gehören in die Vorbereitung: mit #--- klappst du sie ein,
sodass nur die eigentliche Aufgabe sichtbar bleibt. Mehrere benannte Abschnitte ergeben mehrere
Ausgangslagen, zwischen denen sich umschalten lässt — siehe
Programme aufteilen.