From 8ace62ca721713f03d382a1d10f9238635af4c75 Mon Sep 17 00:00:00 2001 From: Semere Meharena Mebrahtom Date: Thu, 20 Aug 2026 22:24:56 +0200 Subject: [PATCH] Level class created; first level with seed 42, subsequent random --- docs/api/mazegenerator.md | 2 +- pyproject.toml | 3 +++ src/main.py | 14 +++++++++++++- src/models.py | 19 +++++++++++++++++++ 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/models.py diff --git a/docs/api/mazegenerator.md b/docs/api/mazegenerator.md index b2bb800..df7a084 100644 --- a/docs/api/mazegenerator.md +++ b/docs/api/mazegenerator.md @@ -71,7 +71,7 @@ FILE ### Usage ```python ->>> from mazegenerator.mazegenerator import MazeGenerator +>>> from mazegenerator import MazeGenerator >>> gen = MazeGenerator() >>> [member for member in dir(gen) if not member.startswith("_")] ['generate', 'maze', 'maze_entry', 'maze_exit', 'shortest_path'] diff --git a/pyproject.toml b/pyproject.toml index 922ba4a..1c9aab1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,6 +25,9 @@ dev = [ [tool.mypy] plugins = ["pydantic.mypy"] mypy_path = "stubs" +[[tool.mypy.overrides]] +module = ["mazegenerator", "mlx"] +ignore_missing_imports = true [tool.ruff] line-length = 79 diff --git a/src/main.py b/src/main.py index 5487e3e..67e00ca 100644 --- a/src/main.py +++ b/src/main.py @@ -1,10 +1,22 @@ from src.config import Parser, ParserError +from src.models import Level def main() -> None: try: config = Parser().get_config() - print(config.model_dump_json(indent=4)) + levels: list[Level] = [] + for rank, lvl in enumerate(config.levels): + levels.append( + Level( + rank=rank, + width=lvl.width, + height=lvl.height, + ) + ) + + lv = levels[-1] + print(lv.rank, lv.width, lv.height, lv.seed, lv.generator) except ParserError as e: print(e) return diff --git a/src/models.py b/src/models.py new file mode 100644 index 0000000..fe8d0b5 --- /dev/null +++ b/src/models.py @@ -0,0 +1,19 @@ +from random import randint + +from src.adapter import Adapter + + +class Level: + rank: int + width: int + height: int + seed: int + generator: Adapter + + def __init__(self, rank: int, width: int, height: int): + self.rank = rank + self.width = width + self.height = height + self.seed = randint(-1000, 1000) if rank > 0 else 42 + + self.generator = Adapter(self.width, self.height, self.seed)