Récapitulatif - Tableau des scores
Fait partie de la section Logic & Flow du Journey Lua de Coddy — leçon 9 sur 54.
Défi
FacileÉcrivez une fonction updateHighScores qui prend une table scores et un nombre newScore, et renvoie le tableau des meilleurs scores mis à jour contenant uniquement les 5 meilleurs scores par ordre décroissant.
Ajoutez le nouveau score à la table, triez tous les scores du plus élevé au plus bas, et ne conservez que les 5 meilleurs scores.
Logique :
- Utilisez
table.insert()pour ajouter le nouveau score à la table scores - Utilisez
table.sort()avec une fonction de comparaison personnalisée pour trier les scores par ordre décroissant (le plus élevé en premier) - Si la table contient plus de 5 scores, utilisez
table.remove()pour supprimer les scores au-delà des 5 meilleurs - Renvoyez la table scores mise à jour
Paramètres :
scores(table) : Une table de type liste contenant les meilleurs scores actuels sous forme de nombresnewScore(number) : Le nouveau score à ajouter au tableau
Renvoie : Une table contenant les 5 meilleurs scores triés du plus élevé au plus bas (table)
Essayez vous-même
function updateHighScores(scores, newScore)
-- Écrivez le code ici
endToutes les leçons de Logic & Flow
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() vs. ipairs()Récapitulatif - Fiche de personnage2Plus de fonctions de la bibliothèque table
table.concat()Construction de table & unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des scores3Concepts avancés sur les fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu'est-ce qu'une closure ?Récapitulatif - Gestionnaire d'événements simple