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])