Repaso - Tabla de puntuaciones altas
Parte de la sección Lógica y flujo de control del Journey de Lua de Coddy. Lección 9 de 54.
Desafío
FácilEscribe una función updateHighScores que tome una tabla scores y un número newScore, y devuelva la tabla de puntuaciones máximas actualizada que contenga solo las 5 puntuaciones más altas en orden descendente.
Añade la nueva puntuación a la tabla, ordena todas las puntuaciones de mayor a menor y conserva solo las 5 puntuaciones más altas.
Lógica:
- Usa
table.insert()para añadir la nueva puntuación a la tabla de puntuaciones - Usa
table.sort()con una función de comparación personalizada para ordenar las puntuaciones en orden descendente (de mayor a menor) - Si la tabla tiene más de 5 puntuaciones, usa
table.remove()para eliminar las puntuaciones que queden fuera de las 5 más altas - Devuelve la tabla de puntuaciones actualizada
Parámetros:
scores(tabla): Una tabla de estilo lista que contiene las puntuaciones máximas actuales como númerosnewScore(número): La nueva puntuación que se añadirá a la tabla
Devuelve: Una tabla que contiene las 5 puntuaciones más altas ordenadas de mayor a menor (tabla)
Pruébalo tú mismo
function updateHighScores(scores, newScore)
-- Escribe el código aquí
endTodas las lecciones de Lógica y flujo de control
1Iteración avanzada de tablas
Iterar con pairs()Iterar con ipairs()pairs() vs. ipairs()Resumen - Ficha de personaje2Más funciones de la librería table
table.concat()Construcción de tablas y unpack()table.sort()Ordenamiento personalizado con funcionesRepaso - Tabla de puntuaciones altasPractica por tu cuenta: Compilador de Lua online