Rückblick – Highscore-Tabelle
Teil des Abschnitts Logik & Programmablauf der Lua-Journey von Coddy. Lektion 9 von 54.
Aufgabe
EinfachSchreibe eine Funktion updateHighScores, die eine scores-Tabelle und eine newScore-Zahl entgegennimmt und die aktualisierte Bestenliste zurückgibt, die nur die 5 besten Punktzahlen in absteigender Reihenfolge enthält.
Füge die neue Punktzahl zur Tabelle hinzu, sortiere alle Punktzahlen von der höchsten zur niedrigsten und behalte nur die 5 besten Punktzahlen.
Logik:
- Verwende
table.insert(), um die neue Punktzahl zur Punktzahltabelle hinzuzufügen - Verwende
table.sort()mit einer benutzerdefinierten Vergleichsfunktion, um die Punktzahlen in absteigender Reihenfolge zu sortieren (höchste zuerst) - Wenn die Tabelle mehr als 5 Punktzahlen enthält, verwende
table.remove(), um die Punktzahlen hinter den 5 besten zu entfernen - Gib die aktualisierte Punktzahltabelle zurück
Parameter:
scores(Tabelle): Eine listenartige Tabelle, die die aktuellen Bestpunktzahlen als Zahlen enthältnewScore(Zahl): Die neue Punktzahl, die zur Bestenliste hinzugefügt werden soll
Rückgabewert: Eine Tabelle mit den 5 besten Punktzahlen, von der höchsten zur niedrigsten sortiert (Tabelle)
Probier es selbst
function updateHighScores(scores, newScore)
-- Code hier schreiben
endAlle Lektionen in Logik & Programmablauf
1Fortgeschrittene Tabelleniteration
Iterieren mit pairs()Iterieren mit ipairs()pairs() vs. ipairs()Zusammenfassung – Charakterbogen2Weitere Funktionen der Tabellenbibliothek
table.concat()Tabellenkonstruktion & unpack()table.sort()Eigene Sortierung mit FunktionenRückblick – Highscore-TabelleÜbe selbstständig: Online-Lua-Compiler