add output to Maze class

This commit is contained in:
2026-03-18 12:14:10 +01:00
parent 272ccefb52
commit c8a13e9d5c
7 changed files with 73 additions and 13 deletions
+3 -1
View File
@@ -1,5 +1,7 @@
from .classes.Cell import Cell
from .classes.Maze import Maze
from .generators.kruskal import kruskal
__version__ = "1.0.0"
__author__ = "us"
__all__ = ["Cell"]
__all__ = ["Cell", "Maze", "kruskal"]
+1 -1
View File
@@ -5,7 +5,7 @@ class Cell(BaseModel):
value: int = Field(ge=0, le=15)
def __str__(self) -> str:
return hex(self.value)
return hex(self.value).removeprefix("0x")
def set_value(self, value: int) -> None:
self.value = value
+20 -8
View File
@@ -1,15 +1,27 @@
from sys import stdout
import numpy as np
from pydantic import BaseModel
from dataclasses import dataclass
from .Cell import Cell
class Maze(BaseModel):
maze: np.ndarray
@dataclass
class Maze:
maze: list[list[Cell]]
def get_maze(self) -> list[list[Cell]] | None:
return self.maze
def set_maze(self, new_maze: list[list[Cell]]) -> None:
self.maze = new_maze
def __str__(self) -> str:
if self.maze is None:
return "None"
res = ""
for _ in self.maze:
for cell in self.maze:
res += cell
for line in self.maze:
for cell in line:
res += cell.__str__()
res += "\n"
return res
def export_maze(self, file_name: str):
with open(file_name, "w") as file:
file.write(self.__str__())
+2 -2
View File
@@ -45,7 +45,7 @@ def merge_sets(sets: list[list[int]], wall: tuple[int, int]) -> None:
sets.remove(set)
def kraskal(
def kruskal(
height: int, width: int
) -> Generator[np.ndarray, None, np.ndarray]:
sets = [[i] for i in range(height * width)]
@@ -69,7 +69,7 @@ def kraskal(
def main():
try:
for alg in kraskal(10, 10):
for alg in kruskal(10, 10):
maze = alg
# print(maze)
# print()