Package es.ull.mazesolver.agent
Class RecursiveAgent
java.lang.Object
es.ull.mazesolver.agent.Agent
es.ull.mazesolver.agent.RecursiveAgent
- All Implemented Interfaces:
Serializable
,Cloneable
Agente que implementa el comportamiento del algoritmo recursivo con
backtracking. Siempre intenta moverse al lugar que no ha visitado. En el peor
de los casos hace un recorrido por todo el laberinto.
- See Also:
- Serialized Form
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
void
doMovement(Direction dir)
Hace que el agente realice el movimiento especificado, sin comprobar que se trata de un movimiento válido.Pregunta al agente el color por defecto de los agentes de su tipo.Pregunta al agente el nombre del algoritmo que implementa.Obtiene el panel de configuración asociado al agente.Obtiene el siguiente movimiento dado el estado actual del agente.void
Elimina la memoria que el agente tenga sobre el entorno.void
setEnvironment(Environment env)
Cambia el entorno en el que se sitúa el agente.void
setPosition(Point pos)
Establece la posición del agente.Methods inherited from class es.ull.mazesolver.agent.Agent
equals, getAgentColor, getAgentName, getEnvironment, getPos, getX, getY, hashCode, loadFile, look, saveFile, setAgentColor, setAgentName
-
Constructor Details
-
RecursiveAgent
Crea el agente en el entorno indicado.- Parameters:
env
- Entorno en el que se quiere colocar.
-
-
Method Details
-
setEnvironment
Description copied from class:Agent
Cambia el entorno en el que se sitúa el agente.
Este método debería sobrecargarse en las clases derivadas que contengan información acerca del camino a seguir por el agente (un plan) de forma que éste siga siendo coherente tras el cambio de laberinto.- Overrides:
setEnvironment
in classAgent
- Parameters:
env
- Entorno donde colocar el agente.
-
getAlgorithmName
Description copied from class:Agent
Pregunta al agente el nombre del algoritmo que implementa.- Specified by:
getAlgorithmName
in classAgent
- Returns:
- Nombre del algoritmo que implementa.
-
getAlgorithmColor
Description copied from class:Agent
Pregunta al agente el color por defecto de los agentes de su tipo.- Specified by:
getAlgorithmColor
in classAgent
- Returns:
- Color por defecto de los agentes que implementan ese algoritmo.
-
getNextMovement
Description copied from class:Agent
Obtiene el siguiente movimiento dado el estado actual del agente.- Specified by:
getNextMovement
in classAgent
- Returns:
- La dirección en la que el agente quiere realizar el siguiente movimiento.
-
doMovement
Description copied from class:Agent
Hace que el agente realice el movimiento especificado, sin comprobar que se trata de un movimiento válido.
La clase base sólo cambia la posición del agente, si se desea más funcionalidad, se debe sobrecargar en las clases derivadas.- Overrides:
doMovement
in classAgent
- Parameters:
dir
- Dirección hacia la que mover el agente.
-
setPosition
Description copied from class:Agent
Establece la posición del agente.
Este método se puede sobrecargar en las clases derivadas para mantener coherente la memoria de la que disponga el mismo.- Overrides:
setPosition
in classAgent
- Parameters:
pos
- Nueva posición del agente.
-
resetMemory
public void resetMemory()Description copied from class:Agent
Elimina la memoria que el agente tenga sobre el entorno. No elimina su configuración, sino que lo deja en el estado inicial.- Specified by:
resetMemory
in classAgent
-
getConfigurationPanel
Description copied from class:Agent
Obtiene el panel de configuración asociado al agente.- Specified by:
getConfigurationPanel
in classAgent
- Returns:
- Un panel de configuración para el agente.
-
clone
-