2026-rff_mp/VildyaevAV/docs/task2/maze.py
2026-05-21 21:50:03 +03:00

35 lines
796 B
Python

class Maze:
def __init__(self, cells, width, height, start, exit_cell):
self.cells = cells
self.width = width
self.height = height
self.start = start
self.exit = exit_cell
def get_cell(self, x, y):
if 0 <= y < self.height and 0 <= x < self.width:
return self.cells[y][x]
return None
def get_neighbors(self, cell):
directions = [
(0, -1),
(0, 1),
(-1, 0),
(1, 0)
]
neighbors = []
for dx, dy in directions:
nx = cell.x + dx
ny = cell.y + dy
neighbor = self.get_cell(nx, ny)
if neighbor and neighbor.is_passable():
neighbors.append(neighbor)
return neighbors