Class GestorEstadisticas
java.lang.Object
Controlador.GestorEstadisticas
Gestor de estadísticas del sistema.
Coordina el registro, consulta y ranking de resultados de partidas.
Delega toda la persistencia en GestorPersistencia.
- Version:
- 3.0
- Author:
- juan Carlos
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionGestorEstadisticas(GestorPersistencia persistencia) Constructor de GestorEstadisticas. -
Method Summary
Modifier and TypeMethodDescriptioncalcularRanking(String nombreJuego) Calcula el ranking de un juego concreto ordenado por puntuación de mayor a menor.intcontarPartidas(String username) Cuenta el total de partidas jugadas por un usuario.intcontarVictorias(String username) Cuenta el total de victorias de un usuario.Devuelve todas las estadísticas de un usuario concreto.getUltimasPartidas(Usuario u, int n) Devuelve las últimas n estadísticas de un usuario, ordenadas de más reciente a más antigua.voidregistrarResultado(Partida partida) Registra el resultado de una partida finalizada.
-
Field Details
-
persistencia
-
listaEstadisticas
-
-
Constructor Details
-
GestorEstadisticas
Constructor de GestorEstadisticas.- Parameters:
persistencia- implementación de GestorPersistencia a utilizar para guardar y cargar estadísticas
-
-
Method Details
-
registrarResultado
Registra el resultado de una partida finalizada. Extrae los datos de cada jugador, crea una Estadistica por cada uno y la guarda en persistencia y en la lista en memoria.- Parameters:
partida- partida finalizada de la que se extrae el resultado
-
getEstadisticasUsuario
Devuelve todas las estadísticas de un usuario concreto.- Parameters:
u- usuario del que se quieren las estadísticas- Returns:
- lista con las estadísticas del usuario
-
getUltimasPartidas
Devuelve las últimas n estadísticas de un usuario, ordenadas de más reciente a más antigua. Si el usuario tiene menos de n partidas, devuelve todas. El ordenamiento aprovecha el métodoisBeforedeLocalDatepara una comparación semánticamente clara.- Parameters:
u- usuario del que se quieren las estadísticasn- número máximo de resultados a devolver- Returns:
- lista con las últimas n estadísticas del usuario
-
calcularRanking
Calcula el ranking de un juego concreto ordenado por puntuación de mayor a menor.- Parameters:
nombreJuego- nombre del juego del que se quiere el ranking- Returns:
- lista de estadísticas ordenadas por puntuación descendente
-
contarPartidas
Cuenta el total de partidas jugadas por un usuario.- Parameters:
username- nombre del usuario- Returns:
- número de partidas jugadas
-
contarVictorias
Cuenta el total de victorias de un usuario.- Parameters:
username- nombre del usuario- Returns:
- número de victorias
-