Recapitulação - Placar de recordes
Parte da seção Logic & Flow 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 o quadro de pontuações atualizado contendo apenas as 5 melhores 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 melhores.
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 (a maior primeiro) - Se a tabela tiver mais de 5 pontuações, use
table.remove()para remover as pontuações além das 5 melhores - Retorne a tabela de pontuações atualizada
Parâmetros:
scores(tabela): Uma tabela estilo lista contendo as pontuações atuais como númerosnewScore(número): A nova pontuação para adicionar ao quadro
Retorno: Uma tabela contendo as 5 melhores 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 Logic & Flow
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çõesRecapitulação - Placar de recordes