Die while-Schleife
Teil des Abschnitts Grundlagen der Lua-Journey von Coddy. Lektion 71 von 90.
Manchmal musst du Code wiederholen, ohne vorher zu wissen, wie oft, zum Beispiel bis dem Spieler die Leben ausgehen. Die while-Schleife eignet sich dafür perfekt: 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 zuerst geprüft wird, ob count <= 3 wahr ist. Wenn das der Fall ist, wird der darin enthaltene Code ausgeführt, gibt die aktuelle Zahl aus und erhöht den Zähler. Anschließend 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. Erstelle zunächst eine Variable namens playerHealth und weise ihr den Wert 25 zu. Erstelle dann eine weitere Variable namens maxHealth und weise ihr den Wert 100 zu.
Schreibe eine while-Schleife, die so lange läuft, wie die Gesundheit des Spielers kleiner als seine maximale Gesundheit ist. Gib innerhalb der Schleife 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 den Wert 100 erhält). Da 100 nicht kleiner als maxHealth ist, wird die Schleife beendet, ohne 100 auszugeben.
Die erwartete Ausgabe ist:2540557085
Probier es selbst
-- Initialisiere die Spielergesundheit und die maximale Gesundheit
local playerHealth = 25
local maxHealth = 100
-- TODO: Schreibe hier deinen Code
-- Erstelle eine while-Schleife, die läuft, solange playerHealth < maxHealth
-- 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 Grundlagen
4Operatoren 2: Vergleichs- und logische Operatoren
GleichheitsoperatorenVergleichsoperatorenDer 'and'-OperatorDer 'or'-OperatorDer 'not'-OperatorKurzschlussauswertungTruthy- und Falsy-WerteRückblick – Einfache Logik7Grundlegende bedingte Logik
Die if-then-AnweisungDie if-then-else-AnweisungDie elseif-AnweisungWiederholung – Schatztruhe2Variablen und Datentypen
Was ist eine Variable?ZahlenZeichenkettenBoolesche WerteDer Wert „nil“Die Funktion type()NamenskonventionenRückblick – Charakterprofil5Grundlegende Ausgabe
Literale ausgebenVariablen ausgebenMehrere Werte ausgebenStrings & Variablen kombinierenDie tostring()-FunktionEingabeTypumwandlungRückblick – StatusberichtRückblick – Bis 1208Grundlagen der String-Manipulation
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Rückblick – Benutzernamen formatieren3Operatoren 1: Arithmetik & Verkettung
Arithmetische OperatorenModulo-OperatorPotenzierungsoperatorVerkettung von ZeichenkettenRangfolge der OperatorenWiederholung – Einfache Berechnungen6Projekt: Charakterwerte anzeigen
WillkommensnachrichtCharakterwerte deklarieren9Grundlagen von Funktionen
Eine Funktion deklarierenEine Funktion aufrufenFunktionen mit ParameternFunktionen mit mehreren ParameternDie Anweisung „return“Zusammenfassung – Flächenrechner12Grundlagen der Schleifen
Die while-SchleifeDie repeat-until-SchleifeDie numerische for-Schleifefor-Schleife mit SchrittweiteDie Anweisung „break“Rückblick – Countdown15Abschließende Herausforderungen
Wiederholung – SpielzugWiederholung – Einfache DatenbankWiederholung – Summe gerader ZahlenÜbe selbstständig: Online-Lua-Compiler