need to fix the unperfect maze and add the function in the kruskal generator

This commit is contained in:
Maoake TERIIEROOITERAI
2026-03-26 00:58:07 +01:00
parent 24748c47ad
commit 5aec319f7b
6 changed files with 41 additions and 45 deletions
+2 -2
View File
@@ -8,8 +8,8 @@ from src.amaz_lib import Maze, MazeGenerator, MazeSolver
class AMazeIng(BaseModel):
model_config = ConfigDict(arbitrary_types_allowed=True)
width: int = Field(ge=3)
height: int = Field(ge=3)
width: int = Field(ge=4)
height: int = Field(ge=4)
entry: tuple[int, int]
exit: tuple[int, int]
output_file: str = Field(min_length=3)
+1 -1
View File
@@ -58,7 +58,7 @@ class MazeGenerator(ABC):
"W": "E",
"E": "W"
}
min_break = 3
min_break = 2
while True:
count = 0
for y in range(height):
+6 -3
View File
@@ -54,12 +54,14 @@ class DataMaze:
res.update({key: DataMaze.convert_bool(data[key])})
res.update({"OUTPUT_FILE": data["OUTPUT_FILE"]})
res.update(
DataMaze.get_solver_generator(data, res["ENTRY"], res["EXIT"])
DataMaze.get_solver_generator(data, res["ENTRY"], res["EXIT"],
res["PERFECT"])
)
return res
@staticmethod
def get_solver_generator(data: dict, entry: int, exit: int) -> dict:
def get_solver_generator(data: dict, entry: tuple, exit: tuple,
perfect: bool) -> dict:
available_generator = {
"Kruskal": Kruskal,
"DFS": DepthFirstSearch,
@@ -68,7 +70,8 @@ class DataMaze:
"AStar": AStar,
}
res = {}
res["GENERATOR"] = available_generator[data["GENERATOR"]]()
res["GENERATOR"] = available_generator[data["GENERATOR"]](entry, exit,
perfect)
res["SOLVER"] = available_solver[data["SOLVER"]](entry, exit)
return res