class Maze: def __init__(self, width, height, cells, start, exit_): self.width = width self.height = height self.cells = cells self.start = start self.exit = exit_ def get_cell(self, x, y): return self.cells[y][x] def get_neighbors(self, cell): dirs = [(1,0), (-1,0), (0,1), (0,-1)] result = [] for dx, dy in dirs: nx, ny = cell.x + dx, cell.y + dy if 0 <= nx < self.width and 0 <= ny < self.height: n = self.get_cell(nx, ny) if not n.is_wall: result.append(n) return result