Rückblick – Highscore-Tabelle
Teil des Abschnitts Logic & Flow der Lua-Journey von Coddy — Lektion 9 von 54.
Aufgabe
EinfachSchreiben Sie eine Funktion updateHighScores, die eine scores-Tabelle und eine newScore-Zahl entgegennimmt und die aktualisierte Highscore-Liste zurückgibt, die nur die besten 5 Ergebnisse in absteigender Reihenfolge enthält.
Fügen Sie den neuen Punktestand zur Tabelle hinzu, sortieren Sie alle Ergebnisse von der höchsten zur niedrigsten Punktzahl und behalten Sie nur die besten 5 Ergebnisse.
Logik:
- Verwenden Sie
table.insert(), um den neuen Punktestand zur scores-Tabelle hinzuzufügen - Verwenden Sie
table.sort()mit einer benutzerdefinierten Vergleichsfunktion, um die Ergebnisse in absteigender Reihenfolge (höchste zuerst) zu sortieren - Wenn die Tabelle mehr als 5 Ergebnisse enthält, verwenden Sie
table.remove(), um Ergebnisse jenseits der Top 5 zu entfernen - Geben Sie die aktualisierte scores-Tabelle zurück
Parameter:
scores(table): Eine listenartige Tabelle, die aktuelle Highscores als Zahlen enthältnewScore(number): Der neue Punktestand, der zur Liste hinzugefügt werden soll
Rückgabewert: Eine Tabelle, die die Top 5 Ergebnisse enthält, sortiert von der höchsten zur niedrigsten Punktzahl (table)
Probier es selbst
function updateHighScores(scores, newScore)
-- Code hier schreiben
endAlle Lektionen in Logic & Flow
1Fortgeschrittene Table-Iteration
Iterieren mit pairs()Iterieren mit ipairs()pairs() vs. ipairs()Zusammenfassung – Charakterbogen4Einführung in Metatables
Was ist eine Metatable?setmetatable & getmetatableDie __index-MetamethodeDie __newindex-MetamethodeDie __tostring-MetamethodeArithmetische Metamethoden Teil 1Arithmetische Metamethoden Teil 2Zusammenfassung – Schreibgeschützte Tabellen7Fortgeschrittene String-Manipulation
string.gsub() für ErsetzungenEinführung in String-Patternsstring.find()string.match()Iterieren mit string.gmatch()Rückblick – Log-File-Parser2Weitere Funktionen der Table-Bibliothek
table.concat()Tabellenerstellung & unpack()table.sort()Benutzerdefiniertes Sortieren mit FunktionenRückblick – Highscore-Tabelle