Menu
Coddy logo textTech

Rückblick – Highscore-Tabelle

Teil des Abschnitts Logic & Flow der Lua-Journey von Coddy — Lektion 9 von 54.

challenge icon

Aufgabe

Einfach

Schreiben 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ält
  • newScore (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
end

Alle Lektionen in Logic & Flow