package aima.core.agent.impl; import aima.core.agent.Action; import aima.core.agent.Agent; import aima.core.agent.AgentProgram; import aima.core.agent.Percept; /** * @author Ravi Mohan * @author Ciaran O'Reilly * @author Mike Stampone */ public abstract class AbstractAgent implements Agent { protected AgentProgram program; private boolean alive = true; public AbstractAgent() { } /** * Constructs an Agent with the specified AgentProgram. * * @param aProgram * the Agent's program, which maps any given percept sequences to * an action. */ public AbstractAgent(AgentProgram aProgram) { program = aProgram; } // // START-Agent public Action execute(Percept p) { if (null != program) { return program.execute(p); } return NoOpAction.NO_OP; } public boolean isAlive() { return alive; } public void setAlive(boolean alive) { this.alive = alive; } // END-Agent // }