+__author__ = "agilliar & luflores"
+
from .maze import Maze
from .maze_pattern import Pattern
from .maze_walls import (MazeWall, NetworkID, Orientation,
- WallCoord, WallNetwork)
+ WallCoord)
-all = [
- Maze,
- Pattern,
- MazeWall,
- NetworkID,
- Orientation,
- WallCoord,
- WallNetwork]
+__all__ = ["Maze",
+ "Pattern",
+ "MazeWall",
+ "NetworkID",
+ "Orientation",
+ "WallCoord",]
from typing import Callable, Generator, Iterable, cast
-from .maze_walls import (MazeWall, NetworkID,
- Orientation, WallCoord, WallNetwork)
+from .maze_walls import (MazeWall, NetworkID, WallNetwork,
+ Orientation, WallCoord)
class Maze:
from enum import Enum, auto
from typing import Iterable, Optional, cast
-
from ..maze_display import PixelCoord
NetworkID.__uuid_gen += 1
+class WallNetwork:
+ def __init__(self) -> None:
+ from .maze_walls import WallCoord
+ self.walls: set[WallCoord] = set()
+
+ def size(self) -> int:
+ return len(self.walls)
+
+ def add_wall(self, id: "WallCoord") -> None:
+ self.walls.add(id)
+
+ def remove_wall(self, id: "WallCoord") -> None:
+ self.walls.remove(id)
+
+
class MazeWall:
def __init__(self, network_id: Optional[NetworkID] = None) -> None:
self.network_id: Optional[NetworkID] = network_id
def y(self) -> int:
return self.__y
-
-
-class WallNetwork:
- def __init__(self) -> None:
- self.walls: set[WallCoord] = set()
-
- def size(self) -> int:
- return len(self.walls)
-
- def add_wall(self, id: WallCoord) -> None:
- self.walls.add(id)
-
- def remove_wall(self, id: WallCoord) -> None:
- self.walls.remove(id)