Class SimulationManager

java.lang.Object
java.util.Observable
es.ull.mazesolver.util.SimulationManager

public class SimulationManager extends Observable
Gestor de la simulación.
  • Constructor Details

    • SimulationManager

      public SimulationManager(EnvironmentSet env_set)
      Constructor por defecto del simulador.
      Parameters:
      env_set - Conjunto de entornos que va a manejar.
  • Method Details

    • setInterval

      public void setInterval(int msec)
      Establece la velocidad de simulación al indicar el tiempo que pasa entre cada paso.
      Parameters:
      msec - Milisegundos que pasarán entre cada paso de la simulación.
    • setEnvironments

      public void setEnvironments(EnvironmentSet env_set)
      Establece el conjunto de entornos que manipula la simulación.
      Parameters:
      env_set - Conjunto de entornos.
    • startSimulation

      public void startSimulation()
      Comienza la simulación. Si está pausada, la reanuda. Nota: No se pueden agregar o eliminar entornos mientras la simulación se está ejecutando.
    • startFastSimulation

      public void startFastSimulation(int steps)
      Comienza una simulación rápida. Hay que indicar el número de pasos que se desean simular, tras los cuales la simulación se pausará. Si la simulación acaba antes del número de pasos indicado, se parará.
      Parameters:
      steps - Número de pasos máximo que se simulará.
    • pauseSimulation

      public void pauseSimulation()
      Pausa la simulación actual si se está ejecutando.
    • stopSimulation

      public void stopSimulation()
      Para la simulación actual si se está ejecutando.
    • stepSimulation

      public void stepSimulation()
      Lleva a cabo un paso de la simulación, arrancándola si no está actualmente ejecutándose. Este método está pensado para ser utilizado por el usuario directamente cuando quiera hacer una ejecución paso a paso.
    • isRunning

      public boolean isRunning()
      Indica si la simulación se está ejecutando.
      Returns:
      Si la simulación se está ejecutando.
    • isPaused

      public boolean isPaused()
      Indica si la simulación está pausada.
      Returns:
      Si la simulación está pausada.
    • isStopped

      public boolean isStopped()
      Indica si la simulación está parada.
      Returns:
      Si la simulación está parada.
    • isFinished

      public boolean isFinished()
      Indica si la simulación ha finalizado; es decir, que todos los agentes en los entornos están parados.
      Returns:
      Si la simulación ha acabado (todos los agentes están parados).
    • getResults

      public final SimulationResults getResults()
      Devuelve los resultados de la simulación actual. Puede ser que sean incompletos, dado que puede ser que la simulación no haya acabado.
      Returns:
      Resultados de la simulación actual.