コード例 #1
0
ファイル: MarioAgent.py プロジェクト: lono175/Mario
class MarioAgent(Agent):
    def __init__(self):
        self.state = INIT

    def agent_message(self, inMessage):
        msg = pickle.loads(inMessage)
        action = msg["cmd"]

        if self.state == INIT and action == ActionInit:
            # if at the very begining, init everything
            self.agent = ModelAgent()
            self.agent.setParam(epsilon=msg["epsilon"], pseudoReward=msg["pseudoReward"], type=msg["type"])
            self.state = RUN
            print "init"
        elif self.state == RUN and action == ActionStop:
            filename = GetFileName(self.agent)
            saveObj(self.agent, filename)
            self.state = INIT
            print "run"
        elif action == ActionKill:
            filename = GetFileName(self.agent)
            filename = filename + ".bak"
            saveObj(self.agent, filename)
            exit()
        else:
            print "current state: ", self.state
            print "action: ", action
            assert 0

    def agent_init(self, taskSpecString):
        return self.agent.agent_init(taskSpecString)

    def agent_start(self, obs):
        return self.agent.agent_start(obs)

    def agent_step(self, reward, obs):
        return self.agent.agent_step(reward, obs)

    def agent_end(self, reward):
        return self.agent.agent_end(reward)

    def agent_cleanup(self):
        pass

    def agent_freeze(self):
        pass
コード例 #2
0
ファイル: MarioAgent.py プロジェクト: lono175/Mario
    def agent_message(self, inMessage):
        msg = pickle.loads(inMessage)
        action = msg["cmd"]

        if self.state == INIT and action == ActionInit:
            # if at the very begining, init everything
            self.agent = ModelAgent()
            self.agent.setParam(epsilon=msg["epsilon"], pseudoReward=msg["pseudoReward"], type=msg["type"])
            self.state = RUN
            print "init"
        elif self.state == RUN and action == ActionStop:
            filename = GetFileName(self.agent)
            saveObj(self.agent, filename)
            self.state = INIT
            print "run"
        elif action == ActionKill:
            filename = GetFileName(self.agent)
            filename = filename + ".bak"
            saveObj(self.agent, filename)
            exit()
        else:
            print "current state: ", self.state
            print "action: ", action
            assert 0