Die while-Schleife
Teil des Abschnitts Fundamentals der Lua-Journey von Coddy — Lektion 71 von 90.
Die while-Schleife ist perfekt dafür – sie führt denselben Code immer wieder aus, solange eine Bedingung true bleibt.
Die grundlegende Syntax einer while-Schleife sieht so aus:
while condition do
-- Code, der wiederholt werden soll
endHier ist ein einfaches Beispiel, das Zahlen von 1 bis 3 ausgibt:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endDiese Schleife funktioniert, indem sie zuerst prüft, ob count <= 3 wahr ist. Wenn dies der Fall ist, wird der darin enthaltene Code ausgeführt, die aktuelle Zahl ausgegeben und der Zähler erhöht. Dann wird die Bedingung erneut geprüft, und der Vorgang wiederholt sich, bis die Bedingung falsch wird.
Aufgabe
EinfachErstelle ein Gesundheitsüberwachungssystem, das eine while-Schleife verwendet, um den Erholungsprozess eines Spielers zu verfolgen. Beginne damit, eine Variable namens playerHealth zu erstellen und ihr den Wert 25 zuzuweisen. Erstelle dann eine weitere Variable namens maxHealth und weise ihr den Wert 100 zu.
Schreibe eine while-Schleife, die so lange fortgesetzt wird, wie die Gesundheit des Spielers geringer ist als seine maximale Gesundheit. Innerhalb der Schleife gib zuerst den aktuellen Gesundheitswert aus, und erhöhe dann playerHealth um 15. Da die Ausgabe vor der Erhöhung erfolgt, ist der letzte ausgegebene Wert 85 — die Schleifenbedingung wird nach dem Hinzufügen von 15 erneut geprüft (wodurch playerHealth gleich 100 wird), und da 100 nicht kleiner als maxHealth ist, stoppt die Schleife, ohne 100 auszugeben.
Die erwartete Ausgabe ist:2540557085
Spickzettel
Die while-Schleife wiederholt Code, solange eine Bedingung true bleibt:
while condition do
-- zu wiederholender Code
endBeispiel, das Zahlen von 1 bis 3 ausgibt:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endDie Schleife prüft die Bedingung, führt den Code aus, wenn sie wahr ist, und prüft dann erneut, bis die Bedingung falsch wird.
Probier es selbst
-- Initialisiere die Gesundheit des Spielers und die maximale Gesundheit
local playerHealth = 25
local maxHealth = 100
-- TODO: Schreibe deinen Code hier
-- Erstelle eine while-Schleife, die fortgesetzt wird, solange playerHealth < maxHealth ist
-- Innerhalb der Schleife: Gib die aktuelle Gesundheit aus und erhöhe dann playerHealth um 15Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren 2: Vergleichs- & Logikoperatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorShort-Circuit EvaluationTruthy- und Falsy-WerteZusammenfassung – Einfache Logik7Grundlagen der bedingten Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungZusammenfassung – Schatzkiste10Tabellen Teil 1: Listen-Stil
Was ist eine Tabelle?Eine Tabelle erstellenZugriff auf Elemente per IndexElemente per Index ändernDer Längenoperator '#'table.insert()table.remove()Zusammenfassung - Gruppenmitglieder verwalten13Projekt: Einfacher Zaubertrank-Laden
Projekt-SetupEinen Trank hinzufügen2Variablen und Datentypen
Was ist eine Variable?ZahlenStringsBooleansDer Wert 'nil'Die type()-FunktionNamenskonventionenZusammenfassung - Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring() FunktionEingabeCastWiederholung - StatusberichtWiederholung - Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Wiederholung - Benutzernamen formatieren11Tabellen 2: Dictionary-Stil
Schlüssel-Wert-PaareDictionary-Stil Tabellen erstellenZugriff – KlammerschreibweiseZugriff mit PunktnotationPaare hinzufügen und ändernPaare mit nil entfernenWiederholung – Elementeigenschaften14Gültigkeitsbereich von Variablen
Globale VariablenLokale VariablenWarum lokale Variablen verwenden?Gültigkeitsbereich und BlöckeRückblick – Scope-Rätsel3Operatoren 1 Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorString-VerkettungOperatorrangfolgeRückblick - Einfache Berechnungen6Projekt: Charakter-Stats Anzeige
WillkommensnachrichtCharakter-Stats deklarieren9Grundlagen der Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie 'return'-AnweisungZusammenfassung - Flächenrechner12Schleifen-Grundlagen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie 'break'-AnweisungZusammenfassung - Countdown15Abschluss-Herausforderungen
Wiederholung – SpielerzugWiederholung – Einfache DatenbankWiederholung – Summe gerader Zahlen