Итоги — Таблица рекордов
Часть раздела Логика и управление потоком путешествия по Lua на Coddy. Урок 9 из 54.
Задание
ЛегкоНапишите функцию updateHighScores, которая принимает таблицу scores и число newScore, а затем возвращает обновлённую таблицу рекордов, содержащую только 5 лучших результатов в порядке убывания.
Добавьте новый результат в таблицу, отсортируйте все результаты от наибольшего к наименьшему и оставьте только 5 лучших результатов.
Логика:
- Используйте
table.insert(), чтобы добавить новый результат в таблицу scores - Используйте
table.sort()с пользовательской функцией сравнения, чтобы отсортировать результаты в порядке убывания (сначала наибольшие) - Если в таблице больше 5 результатов, используйте
table.remove(), чтобы удалить результаты за пределами 5 лучших - Верните обновлённую таблицу результатов
Параметры:
scores(table): Таблица в виде списка, содержащая текущие рекорды в виде чиселnewScore(number): Новый результат для добавления в таблицу рекордов
Возвращает: Таблицу, содержащую 5 лучших результатов, отсортированных от наибольшего к наименьшему (table)
Попробуйте сами
function updateHighScores(scores, newScore)
-- Напишите код здесь
endВсе уроки раздела Логика и управление потоком
1Продвинутая итерация таблиц
Итерация с помощью pairs()Итерация с помощью ipairs()pairs() против ipairs()Повторение — Лист персонажа2Дополнительные функции библиотеки table
table.concat()Создание таблиц и unpack()table.sort()Пользовательская сортировка с помощью функцийИтоги — Таблица рекордовПотренируйтесь самостоятельно: Онлайн-компилятор Lua