Variablen sind in der Informatik Speicherplätze für Werte, die man im Laufe einer Programmausführung wieder ändern kann. Eine Variable wird über ihren Namen angesprochen, kurz gesagt: Eine Variable hat einen Namen und einen Wert.
Im Beispiel wird der Anfangswert der Variablen x zufällig im Bereich der ganzen Zahlen zwischen 0 und 7 festgelegt. Du verwendest dazu die Funktion randint(a, b) aus dem Modul random, die bei jedem Aufruf eine ganzzahlige Zufallszahl im Bereich a und b liefert (Grenzen eingeschlossen).
Im ersten Beispiel wird die Schlange ganz oben auf eine zufällige Spalte gesetzt. Sie bewegt sich dann mit voller Geschwindigkeit nach unten, bis sie auf der untersten Zeile angekommen ist. Dann beginnt der Prozess endlos von neuem. Dazu speicherst du die Zufallszahl, die randint() zurückgibt, in der Variablen x und übergibst dann ihren Wert an setPos(x, 0).
Beim Erzeugen der Schlangen mit makeSnake() legst du die Bewegungsrichtung, die Geschwindigkeit und mit size = 8 die Länge der Schlange fest.
Programm:
from oxosnake import *
from random import randint
makeSnake(heading = 180, size = 8, speed = 90)
repeat:
x = randint(0, 7)
setPos(x, 0)
forward(8)
Im nächsten Beispiel zeichnet dieSchlange eine quadratische Spirale. Sie startet in der Mitte, bewegt sich einen Schritt vorwärts und zeichnet ein spur. Dreht danach 90° rechts und vergrössert den Wert der Variablen size um 1. In der Informatik schreibt man:
Dieser Befehl ist also nicht etwa eine mathematische Gleichung, sondern bewirkt eine neue Wertzuweisung von size.
Die Schlange zeichnet dann immer grössere Strecken bis die Variable size den Wert 10 erreicht und die Schlange samt dem Schwanz aus dem LedGrid verschwindet.
Variablen verwendet man für Werte, die man speichern, wieder lesen und meist auch verändern will. Mit dem Befehl v = v + 5 wird der aktuelle Wert von v um 5 vergrössert.
ZUM SELBST LÖSEN
1.
Erzeuge eine Schlange mit heading = 90 an der Position (0, 0). In einer endlosen Schleife wird jeweils eine Zufallszahl n zwischen 0 und 7 erzeugt. Die Schlange bewegt sich n Schritte vorwärts. Mit sleep(1) kannst du an der Endposition 1 Sekunde lang warten. Danach kehrt die Schlange wieder zum Ausgangspunkt und zeichnet eine weitere zufällig lange Strecke.
2.
Die Schlange soll 20 kleine quadratische Figuren, deren Positionen mit zufällig gewählten Koordinaten bestimmt sind, zeichnen. Die Schlange bewegt sich dabei aber immer schneller. Dazu setzt du ihre Geschwindigkeit v zu Beginn auf 40 und erhöhst sie nach jedem Schleifendurchgang um 5.
Am besten wählst du mit makeSnake(heading = 45) bereits beim Erzeugen der Schlange die passende Blickrichtung.
3.
Mit setBgColor((255, 0, 0)) leuchten alle LEDs rot mit maximaler Helligkeit. Mit dem Befehl dim(dimFaktor) kannst du die Helligkeit dimmen. Führe dieses Dimmen in 6 Stufen durch. Setzte zuerst dimFaktor = 1 und verdopple diesen Wert jeweils nach 0.5 Sekunden.