2026-rff_mp/stepushovgs/labyrinth/source/strategy/strategy.py

23 lines
780 B
Python

from abc import ABC, abstractmethod
from source.classes.cell import Cell
from source.classes.maze import Maze
class PathFindingStrategy(ABC):
"""Интерфейс для семейства алгоритмов поиска пути от старта до выхода."""
@abstractmethod
def findPath(self, maze: Maze) -> tuple[list[Cell], int]:
"""Возвращающим список клеток пути (от старта до выхода включительно) или пустой список, если пути нет и количество посещённых клеток."""
pass
@property
@abstractmethod
def name(self) -> str:
"""Возвращает название алгоритма"""
pass