sequenz

2. SNAKE-OBJEKT

 

 

 

DU LERNST HIER...

 

dass ein Programm aus einer Folge von Programmzeilen besteht, die der Reihe nach (als Sequenz) abgearbeitet werden. Dabei verwendest du eine kleine Python-Schlange (Snake) aus leuchtenden LEDs, die du mit den Befehlen forward(), left() und right() auf dem LedGrid bewegen kannst.

 

 

MUSTERBEISPIELE

 

Damit du die Snake-Befehle verwenden kannst, importierst du das Modul oxosnake, welches nach dem Konzept der objektorientierten Programmierung (OOP) aufgebaut ist. Mit dem Befehl makeSnake() erzeugst du ein softwaremässiges Schlangenobjekt, das wie eine natürliche Schlange Eigenschaften hat (Länge, Position des Kopfes, Blickrichtung, Farbe des Kopfes, Farbe der Schwanzelemente usw.). Die Schlage besitzt aber auch Fähigkeiten. So kann sie sich beispielsweise mit dem Befehl forward() um einen Schritt vorwärts bewegen. In der Parameterklammer kannst du auch die Anzahl Schritte eingeben. Teile der Schlange, die ausserhalb des 8x8 pixel grossen sichtbaren Teils des LedGrids liegen, bleiben unsichtbar, werden aber nicht gelöscht.

Mit right(90) dreht die Schlange um 90 Grad nach rechts und mit left(90) um 90° nach links. Dies macht sich aber erst beim nächsten forward()-Befehl bemerkbar. Du kannst auch andere Drehwinkel wählen, diese werden aber jeweils auf ein Vielfaches von 45° gerundet.

Die Befehle werden grundsätzlich Englisch geschrieben und enden immer mit einer Parameterklammer. Diese kann Werte für den Befehl enthalten. Die Gross-/Kleinschreibung musst du exakt einhalten.

 


 

Programm:

from oxosnake import *

makeSnake()

forward(2)
right(90)
forward(2)
► In Zwischenablage kopieren

Du kannst das Programm eintippen oder aus der Vorlage kopieren. Dazu klickst du auf Programmcode markieren und kopierst das Programm mit Ctrl+C in den Zwischenspeicher und fügst es mit Ctrl+V in das TigerJython-Fenster ein.

Um das Programm auf die Oxocard herunterzuladen und dort auszuführen, klickst du in der Taskleiste auf den schwarzen Button (Hinunterladen/Ausführen).

 

 

 

LEDs DIMMEN

 

Die LEDs leuchten sehr stark. Insbesondere wenn du die Oxocard nicht in der Kartonbox eingebaut hast, ist es vorteilhaft, die Helligkeit zu reduzieren. Du kannst auch in deinem Programm beim Erzeugen des Snake-Objekts die Helligkeit festlegen. Mit mit makeSnake(dim = 20) reduzierst du die Helligkeit um den Faktor 20.

Programm:

from oxosnake import *

makeSnake(dim = 20)

forward(2)
right(90)
forward(2)
left(90)
forward(2)
► In Zwischenablage kopieren

 

 

MERKE DIR...

 

Du musst unterscheiden zwischen dem Schreiben (Editieren) des Programms und seiner Ausführung. Das Programm wird auf deinem Computer editiert und dann auf die Oxocard heruntergeladen und dort mit MicroPython ausgeführt. Mit makeSnake() erzeugst du ein Snake-Objekt, welches du mit Befehlen aus dem Modul snake bewegen kannst.

 

 

ZUM SELBST LÖSEN

 

 

1.
Die Schlage soll sich auf einem Quadrat mit der Seitenlänge 4 bewegen.

 


2.

Die Schlange soll sich auf der nebenstehenden Spur bewegen. Mit dem Befehl penDown() kannst du bewirken, dass der Kopf der Schlange tatsächlich eine Spur hinterlässt. Du siehst diese aber nur, falls die Schlage sie nicht verdeckt. Die Zeile penDown() muss in deinem Programm vor den Bewegungsbefehlen stehen.

from oxosnake import *

makeSnake()
penDown()
forward(2)
....