diff --git a/raskatovia/docs/data/task2/maps/hard.txt b/raskatovia/docs/data/task2/maps/hard.txt new file mode 100644 index 0000000..99fb354 --- /dev/null +++ b/raskatovia/docs/data/task2/maps/hard.txt @@ -0,0 +1,9 @@ +############### +#S....#.......# +#.###.#.#####.# +#...#.#.....#.# +###.#.#####.#.# +#...#.....#.#.# +#.#######.#.#.# +#............F# +############### \ No newline at end of file diff --git a/raskatovia/docs/data/task2/maps/medium.txt b/raskatovia/docs/data/task2/maps/medium.txt new file mode 100644 index 0000000..70ac804 --- /dev/null +++ b/raskatovia/docs/data/task2/maps/medium.txt @@ -0,0 +1,7 @@ +########### +#S..#.....# +###.#.###.# +#...#...#.# +#.#####.#.# +#.......#F# +########### \ No newline at end of file diff --git a/raskatovia/docs/data/task2/solver.py b/raskatovia/docs/data/task2/solver.py index ad20457..4456ec5 100644 --- a/raskatovia/docs/data/task2/solver.py +++ b/raskatovia/docs/data/task2/solver.py @@ -115,14 +115,21 @@ class MazeSolver: return self.strategy.solve(maze) 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()] - for strategy in strategies: - solver = MazeSolver(strategy) - result = solver.solve(maze) - print("algorithm:", result["name"]) - print("visited:", result["visited"]) - print("length:", result["length"]) - print(maze.draw(result["path"])) - print() \ No newline at end of file + for filename in files: + print("map:", filename) + maze = MazeBuilder().from_file("raskatovia/docs/data/task2/maps/" + filename).build() + for strategy in strategies: + solver = MazeSolver(strategy) + result = solver.solve(maze) + print("algorithm:", result["name"]) + print("visited:", result["visited"]) + print("length:", result["length"]) + print(maze.draw(result["path"])) + print() \ No newline at end of file