2026-05-17 21:40:59 +00:00
|
|
|
import model
|
|
|
|
|
from builders import (TextFileMazeBuilder)
|
2026-05-18 10:39:13 +00:00
|
|
|
from strategies import (
|
|
|
|
|
BFSStrategy,
|
|
|
|
|
DFSStrategy,
|
|
|
|
|
AStarStrategy
|
|
|
|
|
)
|
2026-05-18 19:10:10 +00:00
|
|
|
from solver import (MazeSolver)
|
2026-05-17 21:40:59 +00:00
|
|
|
|
|
|
|
|
builder = TextFileMazeBuilder()
|
|
|
|
|
maze = builder.buildFromFile("maze.txt")
|
2026-05-18 19:10:10 +00:00
|
|
|
maze.printMaze()
|
|
|
|
|
print("Выберете алгоритм")
|
|
|
|
|
print("1 - BFS")
|
|
|
|
|
print("2 - DFS")
|
|
|
|
|
print("3 - A*")
|
|
|
|
|
choice = input()
|
|
|
|
|
if choice == "1":
|
|
|
|
|
strategy = BFSStrategy()
|
|
|
|
|
elif choice == "2":
|
|
|
|
|
strategy = DFSStrategy()
|
|
|
|
|
elif choice == "3":
|
|
|
|
|
strategy = AStarStrategy()
|
|
|
|
|
else:
|
|
|
|
|
print("Неверный выбор")
|
|
|
|
|
exit()
|
|
|
|
|
|
|
|
|
|
solver = MazeSolver(maze, strategy)
|
|
|
|
|
stats = solver.solve()
|
|
|
|
|
print("Результат:")
|
|
|
|
|
print(stats)
|
|
|
|
|
|