Revisão - Placar de pontuações máximas
Parte da seção Lógica e Fluxo do Journey de Lua da Coddy. Lição 9 de 54.
Desafio
FácilEscreva uma função updateHighScores que receba uma tabela scores e um número newScore, e retorne a tabela de pontuações atualizada contendo apenas as 5 maiores pontuações em ordem decrescente.
Adicione a nova pontuação à tabela, ordene todas as pontuações da maior para a menor e mantenha apenas as 5 maiores pontuações.
Lógica:
- Use
table.insert()para adicionar a nova pontuação à tabela de pontuações - Use
table.sort()com uma função de comparação personalizada para ordenar as pontuações em ordem decrescente (da maior para a menor) - Se a tabela tiver mais de 5 pontuações, use
table.remove()para remover as pontuações além das 5 maiores - Retorne a tabela de pontuações atualizada
Parâmetros:
scores(tabela): Uma tabela no estilo lista contendo as pontuações atuais como númerosnewScore(número): A nova pontuação a ser adicionada à tabela
Retorno: Uma tabela contendo as 5 maiores pontuações ordenadas da maior para a menor (tabela)
Experimente você mesmo
function updateHighScores(scores, newScore)
-- Escreva o código aqui
endTodas as lições de Lógica e Fluxo
1Iteração avançada de tabelas
Iterando com pairs()Iterando com ipairs()pairs() vs. ipairs()Revisão - Ficha de personagem2Mais funções da biblioteca table
table.concat()Construção de tabelas e unpack()table.sort()Ordenação personalizada com funçõesRevisão - Placar de pontuações máximasPratique por conta própria: Compilador de Lua online