mirror of
https://github.com/maoakeEnterprise/amazing.git
synced 2026-04-28 16:04:35 +02:00
SEED implementation
This commit is contained in:
+1
-9
@@ -6,12 +6,4 @@ OUTPUT_FILE=con
|
||||
PERFECT=True
|
||||
GENERATOR=DFS
|
||||
SOLVER=AStar
|
||||
salut
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
##
|
||||
SEED=168431
|
||||
|
||||
+4
-1
@@ -21,6 +21,7 @@ class AMazeIng(BaseModel):
|
||||
maze: Maze = Field(default=Maze(None))
|
||||
generator: MazeGenerator
|
||||
solver: MazeSolver
|
||||
seed: int | None = Field(default=None)
|
||||
|
||||
@model_validator(mode="after")
|
||||
def check_entry_exit(self) -> Self:
|
||||
@@ -48,7 +49,9 @@ class AMazeIng(BaseModel):
|
||||
Yields:
|
||||
The current maze state after each generation step.
|
||||
"""
|
||||
for array in self.generator.generator(self.height, self.width):
|
||||
for array in self.generator.generator(
|
||||
self.height, self.width, self.seed
|
||||
):
|
||||
self.maze.set_maze(array)
|
||||
yield self.maze
|
||||
return
|
||||
|
||||
@@ -369,7 +369,7 @@ class DepthFirstSearch(MazeGenerator):
|
||||
The final generated maze.
|
||||
"""
|
||||
if seed is not None:
|
||||
np.random.seed(seed)
|
||||
random.seed(seed)
|
||||
maze = self.init_maze(width, height)
|
||||
if width > 10 and height > 10:
|
||||
self.forty_two = self.get_cell_ft(width, height)
|
||||
|
||||
+10
-8
@@ -62,14 +62,12 @@ class DataMaze:
|
||||
"GENERATOR",
|
||||
"SOLVER",
|
||||
}
|
||||
set_key = {key for key in data.keys()}
|
||||
if len(set_key) != len(key_test):
|
||||
raise KeyError("Missing some data the len do not correspond")
|
||||
res_key = {key for key in set_key if key not in key_test}
|
||||
if len(res_key) != 0:
|
||||
raise KeyError(
|
||||
"Some Key " f"do not correspond the keys: {res_key}"
|
||||
)
|
||||
i = 0
|
||||
for key in data:
|
||||
if key in key_test:
|
||||
i += 1
|
||||
if len(key_test) != i:
|
||||
raise Exception("Some mandatory key not provide")
|
||||
|
||||
@staticmethod
|
||||
def convert_values(data: dict[str, str]) -> dict[str, Any]:
|
||||
@@ -88,6 +86,10 @@ class DataMaze:
|
||||
res: dict[str, Any] = {}
|
||||
for key in key_int:
|
||||
res.update({key: int(data[key])})
|
||||
try:
|
||||
res.update({"SEED": int(data["SEED"])})
|
||||
except KeyError:
|
||||
pass
|
||||
for key in key_tuple:
|
||||
res.update({key: DataMaze.convert_tuple(data[key])})
|
||||
for key in key_bool:
|
||||
|
||||
Reference in New Issue
Block a user