def __init__(self): self.action_space = spaces.Discrete(4) self.dr = [-1, 1, 0, 0] self.dc = [0, 0, -1, 1] self.map = simple # load map selected_map = self.map init_loc = selected_map["init"].copy() self.goal_loc = selected_map["goal"].copy() # Reset Map loc = np.array(selected_map['loc'].copy()) # (7,7) conn = np.array(selected_map['conn'].copy()) # (7,7) self.cur_state = np.stack([loc, conn], axis=0) # Reset Positions self.cur_loc = init_loc.copy() # Reset Enemies self.enemies = [] self.move_enemies = [] for e in selected_map['fixed']: self.enemies.append(BlueEnemy(e[0], e[1], e[2], e[3])) # row,col,dir,conn for e in selected_map['moving']: self.move_enemies.append(YellowEnemy(e[0], e[1], e[2]))
def reset(self): # load map selected_map = self.map init_loc = selected_map["init"].copy() self.goal_loc = selected_map["goal"].copy() # Reset Map loc = np.array(selected_map['loc'].copy()) # (7,7) conn = np.array(selected_map['conn'].copy()) # (7,7) self.cur_state = np.stack([loc, conn], axis=0) # Reset Positions self.cur_loc = init_loc.copy() # Reset Enemies self.enemies = [] self.move_enemies = [] for e in selected_map['fixed']: self.enemies.append(BlueEnemy(e[0], e[1], e[2], e[3])) # row,col,dir,conn for e in selected_map['moving']: self.move_enemies.append(YellowEnemy(e[0], e[1], e[2])) return self.cur_state.copy() # (2,7,7)