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 karadanach 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
Leerzeichenleeres 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.