From 1248652f53080661f2c7d034e27bbf592bcd4dcd Mon Sep 17 00:00:00 2001 From: johnyhe <269401927@qq.com> Date: Fri, 10 Aug 2018 10:02:28 +0800 Subject: [PATCH] Create env_v3.py --- MARL/env/env_v3.py | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 MARL/env/env_v3.py diff --git a/MARL/env/env_v3.py b/MARL/env/env_v3.py new file mode 100644 index 0000000..b0e7ad4 --- /dev/null +++ b/MARL/env/env_v3.py @@ -0,0 +1,53 @@ +import numpy as np +import matplotlib.pyplot as plt +import warnings +warnings.filterwarnings('ignore') +import agent +import gridworld +from copy import deepcopy + +class Env(): + def __init__(self): + super(Env, self).__init__() + self.CrossRoadGridWorld = gridworld.CrossRoadGridWorld() + self.state = self.CrossRoadGridWorld.init_state + self.max_num_agent = 10 + self.state_space = [] + + def run(self): + pass + + def update_state(self, state): + self.state = state + self.state_space.append(state) + + def show(self): + fig, ax = plt.subplots() + + for i in range(len(self.state_space)): + ax.cla() + ax.set_title("frame {}".format(i)) + ax.imshow(self.state_space[i]) + plt.pause(0.1) +step = 20 +def mian(): + agent0 = agent.Agent() + env = Env() + for i in range(step): + state = agent0.state + action = agent0.get_action() + agent0.state = agent0.move(state, action) + env_state = deepcopy(env.state) + env_state[agent0.state[0], agent0.state[1]] = agent0.colour + env.state_space.append(env_state) + fig, ax = plt.subplots() + for i in range(step): + ax.cla() + ax.grid() + #ax.grid() + ax.imshow(env.state_space[i]) + ax.set_title("frame {}".format(i+1)) + plt.pause(0.3) + +if __name__ == '__main__': + mian()