Class GestorEstadisticas

java.lang.Object
Controlador.GestorEstadisticas

public class GestorEstadisticas extends Object
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 Details

  • Constructor Details

    • GestorEstadisticas

      public GestorEstadisticas(GestorPersistencia persistencia)
      Constructor de GestorEstadisticas.
      Parameters:
      persistencia - implementación de GestorPersistencia a utilizar para guardar y cargar estadísticas
  • Method Details

    • registrarResultado

      public void registrarResultado(Partida partida)
      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

      public ArrayList<Estadistica> getEstadisticasUsuario(Usuario u)
      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

      public ArrayList<Estadistica> getUltimasPartidas(Usuario u, int n)
      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étodo isBefore de LocalDate para una comparación semánticamente clara.
      Parameters:
      u - usuario del que se quieren las estadísticas
      n - número máximo de resultados a devolver
      Returns:
      lista con las últimas n estadísticas del usuario
    • calcularRanking

      public ArrayList<Estadistica> calcularRanking(String nombreJuego)
      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

      public int contarPartidas(String username)
      Cuenta el total de partidas jugadas por un usuario.
      Parameters:
      username - nombre del usuario
      Returns:
      número de partidas jugadas
    • contarVictorias

      public int contarVictorias(String username)
      Cuenta el total de victorias de un usuario.
      Parameters:
      username - nombre del usuario
      Returns:
      número de victorias