From ce584d2ae3248090aba80e5988c0dca0f0bd723e Mon Sep 17 00:00:00 2001 From: David GAILLETON Date: Mon, 16 Mar 2026 15:22:18 +0100 Subject: [PATCH] fix(cell): add getter setter for value add(generators): base for kruskal maze generators --- README.md | 3 +++ src/amaz-lib/__init__.py | 5 +++++ src/{lib/class => amaz-lib/classes}/Cell.py | 6 ++++++ src/amaz-lib/generators/kruskal.py | 7 +++++++ 4 files changed, 21 insertions(+) create mode 100644 src/amaz-lib/__init__.py rename src/{lib/class => amaz-lib/classes}/Cell.py (91%) create mode 100644 src/amaz-lib/generators/kruskal.py diff --git a/README.md b/README.md index e69de29..e34f933 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,3 @@ +The Randomized Kruskal's Algorithm + +The Randomized Prim's Algorithm diff --git a/src/amaz-lib/__init__.py b/src/amaz-lib/__init__.py new file mode 100644 index 0000000..70704a3 --- /dev/null +++ b/src/amaz-lib/__init__.py @@ -0,0 +1,5 @@ +from .classes.Cell import Cell + +__version__ = "1.0.0" +__author__ = "nous" +__all__ = ["Cell"] diff --git a/src/lib/class/Cell.py b/src/amaz-lib/classes/Cell.py similarity index 91% rename from src/lib/class/Cell.py rename to src/amaz-lib/classes/Cell.py index 67d3ee6..d62639b 100644 --- a/src/lib/class/Cell.py +++ b/src/amaz-lib/classes/Cell.py @@ -7,6 +7,12 @@ class Cell(BaseModel): def __str__(self) -> str: return hex(self.value) + def set_value(self, value: int) -> None: + self.value = value + + def get_value(self) -> int: + return self.value + def set_north(self, is_wall: bool) -> None: if (is_wall and self.value | 14 == 15) or ( not is_wall and self.value | 14 != 15 diff --git a/src/amaz-lib/generators/kruskal.py b/src/amaz-lib/generators/kruskal.py new file mode 100644 index 0000000..35032de --- /dev/null +++ b/src/amaz-lib/generators/kruskal.py @@ -0,0 +1,7 @@ +from typing import Generator +import numpy as np +from .. import Cell + + +def kraskal(height: int, width: int) -> Generator[None, None, None]: + maze = np.array([[Cell(value=15) for _ in range(height)] * width])