[2] добавил тестовые лабиринты

This commit is contained in:
raskatovia 2026-05-23 12:11:53 +03:00
parent fa3d95b5c0
commit c19eb1a1f6
3 changed files with 32 additions and 9 deletions

View File

@ -0,0 +1,9 @@
###############
#S....#.......#
#.###.#.#####.#
#...#.#.....#.#
###.#.#####.#.#
#...#.....#.#.#
#.#######.#.#.#
#............F#
###############

View File

@ -0,0 +1,7 @@
###########
#S..#.....#
###.#.###.#
#...#...#.#
#.#####.#.#
#.......#F#
###########

View File

@ -115,9 +115,16 @@ class MazeSolver:
return self.strategy.solve(maze) return self.strategy.solve(maze)
if __name__ == "__main__": if __name__ == "__main__":
maze = MazeBuilder().from_file("raskatovia/docs/data/task2/maps/simple.txt").build() files = [
"simple.txt",
"medium.txt",
"hard.txt"
]
strategies = [BfsStrategy(), DfsStrategy(), AstarStrategy()] strategies = [BfsStrategy(), DfsStrategy(), AstarStrategy()]
for filename in files:
print("map:", filename)
maze = MazeBuilder().from_file("raskatovia/docs/data/task2/maps/" + filename).build()
for strategy in strategies: for strategy in strategies:
solver = MazeSolver(strategy) solver = MazeSolver(strategy)
result = solver.solve(maze) result = solver.solve(maze)