2026-05-16 16:20:59 +00:00
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
|
|
|
|
|
|
|
|
from task2.mazeObjects.maze import Maze
|
|
|
|
|
|
from task2.mazeObjects.cell import Cell
|
2026-05-23 09:02:30 +00:00
|
|
|
|
from task2.mazeObjects.path import Path
|
2026-05-16 16:20:59 +00:00
|
|
|
|
|
|
|
|
|
|
class PathFindingStrategy(ABC):
|
|
|
|
|
|
"""Интерфейс PathFindingStrategy с методом findPath(maze, start, exit),
|
|
|
|
|
|
возвращающим список клеток пути (от старта до выхода включительно) или пустой список, если пути нет."""
|
|
|
|
|
|
|
|
|
|
|
|
@abstractmethod
|
2026-05-23 09:02:30 +00:00
|
|
|
|
def findPath(self, maze: Maze, start: Cell, exit: Cell) -> Path:
|
2026-05-20 18:23:47 +00:00
|
|
|
|
"""Возвращает список клеток пути от старта до выхода включительно. Пути нет - пустой список."""
|
|
|
|
|
|
raise NotImplementedError
|