Package es.ull.mazesolver.util
Class SimulationManager
java.lang.Object
java.util.Observable
es.ull.mazesolver.util.SimulationManager
Gestor de la simulación.
-
Constructor Summary
ConstructorsConstructorDescriptionSimulationManager(EnvironmentSet env_set)
Constructor por defecto del simulador. -
Method Summary
Modifier and TypeMethodDescriptionDevuelve los resultados de la simulación actual.boolean
Indica si la simulación ha finalizado; es decir, que todos los agentes en los entornos están parados.boolean
isPaused()
Indica si la simulación está pausada.boolean
Indica si la simulación se está ejecutando.boolean
Indica si la simulación está parada.void
Pausa la simulación actual si se está ejecutando.void
setEnvironments(EnvironmentSet env_set)
Establece el conjunto de entornos que manipula la simulación.void
setInterval(int msec)
Establece la velocidad de simulación al indicar el tiempo que pasa entre cada paso.void
startFastSimulation(int steps)
Comienza una simulación rápida.void
Comienza la simulación.void
Lleva a cabo un paso de la simulación, arrancándola si no está actualmente ejecutándose.void
Para la simulación actual si se está ejecutando.Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
-
Constructor Details
-
SimulationManager
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
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
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.
-