[2] добавил тестовые лабиринты
This commit is contained in:
parent
fa3d95b5c0
commit
c19eb1a1f6
9
raskatovia/docs/data/task2/maps/hard.txt
Normal file
9
raskatovia/docs/data/task2/maps/hard.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
###############
|
||||
#S....#.......#
|
||||
#.###.#.#####.#
|
||||
#...#.#.....#.#
|
||||
###.#.#####.#.#
|
||||
#...#.....#.#.#
|
||||
#.#######.#.#.#
|
||||
#............F#
|
||||
###############
|
||||
7
raskatovia/docs/data/task2/maps/medium.txt
Normal file
7
raskatovia/docs/data/task2/maps/medium.txt
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
###########
|
||||
#S..#.....#
|
||||
###.#.###.#
|
||||
#...#...#.#
|
||||
#.#####.#.#
|
||||
#.......#F#
|
||||
###########
|
||||
|
|
@ -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()
|
||||
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()
|
||||
Loading…
Reference in New Issue
Block a user