Menu
Coddy logo textTech

Rückblick – Highscore-Tabelle

Teil des Abschnitts Logik & Programmablauf der Lua-Journey von Coddy. Lektion 9 von 54.

challenge icon

Aufgabe

Einfach

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

Alle Lektionen in Logik & Programmablauf

Übe selbstständig: Online-Lua-Compiler