Récapitulatif - Tableau des meilleurs scores
Fait partie de la section Logique et flux 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, puis renvoie le tableau des meilleurs scores mis à jour, contenant uniquement les 5 meilleurs scores dans l’ordre décroissant.
Ajoutez le nouveau score à la table, triez tous les scores du plus élevé au plus faible, et conservez uniquement les 5 meilleurs scores.
Logique :
- Utilisez
table.insert()pour ajouter le nouveau score à la table des scores - Utilisez
table.sort()avec une fonction de comparaison personnalisée pour trier les scores dans l’ordre décroissant (du plus élevé au plus faible) - Si la table contient plus de 5 scores, utilisez
table.remove()pour supprimer les scores au-delà des 5 meilleurs - Renvoyez la table des 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
Valeur renvoyée : Une table contenant les 5 meilleurs scores triés du plus élevé au plus faible (table)
Essayez vous-même
function updateHighScores(scores, newScore)
-- Écrivez le code ici
endToutes les leçons de Logique et flux
1Itération avancée des tables
Itérer avec pairs()Itérer avec ipairs()pairs() contre ipairs()Récapitulatif - Fiche de personnage2Fonctions supplémentaires de la bibliothèque table
table.concat()construction de tables et unpack()table.sort()Tri personnalisé avec des fonctionsRécapitulatif - Tableau des meilleurs scores3Concepts avancés des fonctions
Retourner plusieurs valeursFonctions variadiques (...)Les fonctions comme valeurs de première classeFonctions anonymesQu’est-ce qu’une fermeture ?Récapitulatif - Gestionnaire d’événements simpleEntraînez-vous par vous-même : Compilateur Lua en ligne