def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, self.n_snakes, self.n_foods, random_init=self.random_init) self.last_obs = self.controller.get_snake_info() self.last_grid = self.controller.grid.grid.copy() return self.last_obs
def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, random_init=self.random_init) self.last_obs = self.controller.grid.grid return self._get_obs()
def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, self.n_snakes, self.n_foods, random_init=self.random_init) self.last_obs = self.controller.grid.grid.copy() obs = [ tuple(self.controller.snakes[0].head) if self.controller.snakes and self.controller.snakes[0] else None, self.controller.grid.foodLocations[0] ] #return self.last_obs return tuple( self.controller.generateObservationTuple( int(self.controller.snakes[0].direction)))
def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, self.n_snakes, self.n_foods, random_init=self.random_init) #self.last_obs = self.controller.grid.grid lw = LocalView(self.controller.grid) self.last_obs = lw.get(self.controller.snakes[0].head) # print("RESET") # print(np.expand_dims(self.last_obs, -1).shape) self.last_obs = np.asarray(np.expand_dims(self.last_obs, -1)) return self.last_obs
def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, self.n_snakes, self.n_foods, random_init=self.random_init) self.last_obs = self.controller.grid.grid.copy() coord_obs = self.to_coord(self.last_obs) # Erco return coord_obs # Erco
def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, self.n_snakes, self.n_foods, random_init=self.random_init, wall=self.wall) self.last_obs = self.controller.grid.grid return self.last_obs
class SnakeEnv(gym.Env): metadata = {'render.modes': ['human']} def __init__(self, grid_size=[15, 15], unit_size=10, unit_gap=1, snake_size=3, n_snakes=1, n_foods=1, random_init=True): self.grid_size = grid_size self.unit_size = unit_size self.unit_gap = unit_gap self.snake_size = snake_size self.n_snakes = n_snakes self.n_foods = n_foods self.viewer = None self.action_space = Discrete(4) self.random_init = random_init self.last_obs = None self.last_grid = None def step(self, action): self.last_obs, rewards, done, info = self.controller.step(action) self.last_grid = self.controller.grid.grid.copy() return self.last_obs, rewards, done, info def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, self.n_snakes, self.n_foods, random_init=self.random_init) self.last_obs = self.controller.get_snake_info() self.last_grid = self.controller.grid.grid.copy() return self.last_obs def render(self, mode='human', close=False, frame_speed=.1): if self.viewer is None: self.fig = plt.figure() self.viewer = self.fig.add_subplot(111) plt.ion() self.fig.show() else: self.viewer.clear() self.viewer.imshow(self.last_grid) plt.pause(frame_speed) self.fig.canvas.draw() def seed(self, x): pass
def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, self.n_snakes, self.n_foods, random_init=self.random_init, start_coord=self.start_coord, food_pos=self.food_pos) self.last_obs = self.controller.grid.grid.copy() return self.last_obs
class SnakeEnv(gym.Env): metadata = {'render.modes': ['human']} def __init__(self, grid_size=[30, 30], unit_size=10, unit_gap=1, snake_size=2, n_snakes=1, n_foods=1, random_init=True): self.grid_size = grid_size self.unit_size = unit_size self.unit_gap = unit_gap self.snake_size = snake_size self.n_snakes = n_snakes self.n_foods = n_foods self.viewer = None self.action_space = Discrete(4) self.random_init = random_init #Defined observation space #self.observation_space = spaces.Box(low=np.array([0]*11), high=np.array([1]*11), dtype=np.bool) self.observation_space = spaces.Tuple( (spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2), spaces.Discrete(2))) def step(self, action): #self.last_obs, rewards, done, info = self.controller.step(action) last_obs, rewards, done, info = self.controller.step(action) self.last_obs = self.controller.grid.grid.copy() #return self.last_obs, rewards, done, info return last_obs, rewards, done, info def reset(self): self.controller = Controller(self.grid_size, self.unit_size, self.unit_gap, self.snake_size, self.n_snakes, self.n_foods, random_init=self.random_init) self.last_obs = self.controller.grid.grid.copy() obs = [ tuple(self.controller.snakes[0].head) if self.controller.snakes and self.controller.snakes[0] else None, self.controller.grid.foodLocations[0] ] #return self.last_obs return tuple( self.controller.generateObservationTuple( int(self.controller.snakes[0].direction))) def render(self, mode='human', close=False, frame_speed=.1): if self.viewer is None: self.fig = plt.figure() self.viewer = self.fig.add_subplot(111) plt.ion() self.fig.show() else: self.viewer.clear() self.viewer.imshow(self.last_obs) plt.pause(frame_speed) self.fig.canvas.draw() def seed(self, x): pass