Package es.ull.mazesolver.agent
Class AStarAgent
java.lang.Object
es.ull.mazesolver.agent.Agent
es.ull.mazesolver.agent.HeuristicAgent
es.ull.mazesolver.agent.AStarAgent
- All Implemented Interfaces:
Serializable
,Cloneable
Agente que implementa el comportamiento del algoritmo A*.
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from class es.ull.mazesolver.agent.HeuristicAgent
m_dist
-
Constructor Summary
ConstructorsConstructorDescriptionAStarAgent(Environment env)
Inicializa el agente A* con la distancia de Manhattan por defecto. -
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.HeuristicAgent
getDistanceCalculator, setDistanceCalculator
Methods inherited from class es.ull.mazesolver.agent.Agent
equals, getAgentColor, getAgentName, getEnvironment, getPos, getX, getY, hashCode, loadFile, look, saveFile, setAgentColor, setAgentName
-
Constructor Details
-
AStarAgent
Inicializa el agente A* con la distancia de Manhattan por defecto.- Parameters:
env
- Entorno en el que colocar al agente.
-
-
Method Details
-
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.
-
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.
-
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.
-
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.
-
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
-