Haupt Navigation Neben Navigation

Schleifen

Eine Schleife ist ein Block von Anweisungen, welcher so lange ausgeführt wird, wie die Bedingung erfüllt ist. Man kann also sagen, ein sich kontinuirlich wiederholendes if.

Grundsätzlich gibt es mehrere Arten von Schleifen, wir behandeln hier zwei davon:

  1. for-Schleife
  2. while-Schleife

Ich werde die Funktion der Schleifen jeweils mit dem Bildschirmfüllen durch ein Bild erklären. Das Bild hat die Auflösung 10*10. Dafür werde ich im folgenden Code Ausschnitt das Bild definieren, die Code Ausschnitte bei den verschiedenen Schleifen müsst ihr euch also auf folgenden Code addieren:

muster = Image.load("muster.png")

for-Schleife

Die for-Schleife ist eine sogenannte Zählschleife. Sie wird wie folgt aufgebaut:
for i=5, 10 do

Die Variable i ist in LUA reserviert und wird automatisch bei jedem Duchlauf erhöht. der Wert nach dem Komma ist der Endwert. Wenn dieser überschritten ist, bricht die Schleife ab.

Wie bei der Abfrage auch, würde nun ein Anweisungsblock abgeschlossen durch end folgen.

for a=0, 272 do
for b=0, 480 do
screen:blit(b, a, muster, false)
b += 10
end
a += 10
end

Hierbei wird die for-Schleife geschachtelt. Das heißt mit jedem Schleifendurchlauf der ersten for Schleife wird die zweite uch jedes mal mehrfach durchgelaufen. Danach wird immer um 10, also der Abmessung des Bildes, erhöht. Am Ende ist dann der ganze Bildschirm mit dem Muster gefüllt.

Wer sich jetzt noch wundert, was += bedeutet, das ist eine Kurzschreibweiße für x = x+.

while-Schleife

Die while-Schleife ist nun eine klassische Form der Schleife. Sie besteht aus einer Abfrage und einem Anweisungsblock.
während(while) Bedingung mache(do)

Die while-Schleife könnte also so aussehen:

a = 0
b = 0

while a < 272 do
while b < 480 do
screen:blit(b, a, muster, false)
b += 10
end
a += 10
end

Man kann eine deutliche Ähnlichkeit zur for-Schleife sehen, der Inhalt der Schleifen ist sogar identisch.