From 04c28a851fc8d9335f115f7ba1b4274809f3b26f Mon Sep 17 00:00:00 2001 From: David GAILLETON Date: Fri, 3 Apr 2026 17:59:37 +0200 Subject: [PATCH] fix Astar solver --- config.txt | 6 +++--- mazegen-1.0.0-py3-none-any.whl | Bin 0 -> 17945 bytes src/mazegen/MazeSolver.py | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 mazegen-1.0.0-py3-none-any.whl diff --git a/config.txt b/config.txt index b15d95f..febdc6b 100644 --- a/config.txt +++ b/config.txt @@ -1,7 +1,7 @@ -WIDTH=100 -HEIGHT=100 +WIDTH=15 +HEIGHT=15 ENTRY=1,1 -EXIT=5,7 +EXIT=15,10 OUTPUT_FILE=con PERFECT=True GENERATOR=Kruskal diff --git a/mazegen-1.0.0-py3-none-any.whl b/mazegen-1.0.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..56cf876f0e29faf2567766506f637f3c76680f51 GIT binary patch literal 17945 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 literal 0 HcmV?d00001 diff --git a/src/mazegen/MazeSolver.py b/src/mazegen/MazeSolver.py index bba0a6e..b2d9bce 100644 --- a/src/mazegen/MazeSolver.py +++ b/src/mazegen/MazeSolver.py @@ -84,7 +84,8 @@ class AStar(MazeSolver): start: Start coordinates using 1-based indexing. end: End coordinates using 1-based indexing. """ - super().__init__(start, end) + self.start = (start[0] - 1, start[1] - 1) + self.end = (end[0] - 1, end[1] - 1) def h(self, n: tuple[int, int]) -> int: """Compute the Manhattan distance heuristic to the goal. @@ -196,6 +197,8 @@ class AStar(MazeSolver): to_check, ) ) + if path == self.end: + break raise Exception("Path not found") def get_rev_dir(self, current: Node) -> str: