Podsumowanie — tablica najlepszych wyników
Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 9 z 54.
Wyzwanie
ŁatwyNapisz funkcję updateHighScores, która przyjmuje tabelę scores i liczbę newScore, a następnie zwraca zaktualizowany ranking zawierający tylko 5 najlepszych wyników w kolejności malejącej.
Dodaj nowy wynik do tabeli, posortuj wszystkie wyniki od najwyższego do najniższego i pozostaw tylko 5 najlepszych wyników.
Logika:
- Użyj
table.insert(), aby dodać nowy wynik do tabeli wyników - Użyj
table.sort()z niestandardową funkcją porównującą, aby posortować wyniki w kolejności malejącej (od najwyższego) - Jeśli tabela zawiera więcej niż 5 wyników, użyj
table.remove(), aby usunąć wyniki spoza 5 najlepszych - Zwróć zaktualizowaną tabelę wyników
Parametry:
scores(table): Tabela w formie listy zawierająca aktualne najlepsze wyniki jako liczbynewScore(number): Nowy wynik do dodania do rankingu
Zwraca: Tabelę zawierającą 5 najlepszych wyników posortowanych od najwyższego do najniższego (table)
Spróbuj swoich sił
function updateHighScores(scores, newScore)
-- Napisz kod tutaj
endWszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane iterowanie po tabelach
Iterowanie za pomocą pairs()Iterowanie za pomocą ipairs()pairs() a ipairs()Powtórka — karta postaci2Więcej funkcji biblioteki table
table.concat()Tworzenie tabel i unpack()table.sort()Sortowanie niestandardowe za pomocą funkcjiPodsumowanie — tablica najlepszych wyników5Projekt: silnik tekstowej gry przygodowej
Konfiguracja projektu: pokójŁączenie pokoiPoćwicz samodzielnie: Kompilator Lua online