from amazeing.config.config_parser import Config
from amazeing.maze_class.maze_network_tracker import MazeNetworkTracker
-from amazeing.maze_class.maze_coords import Cardinal, CellCoord
+from amazeing.maze_class.maze_coords import CellCoord
from amazeing.maze_class.maze_dirty_tracker import MazeDirtyTracker
from amazeing.maze_class.maze_pacman_tracker import MazePacmanTracker
from amazeing.maze_display.TTYdisplay import TileCycle, TileMaps, extract_pairs
from amazeing.maze_display.backend import CloseRequested, IVec2
-from amazeing.utils import QuadTree
config = Config.parse(open("./example.conf").read())
from abc import ABC, abstractmethod
from collections.abc import Callable, Generator, Iterable
-from amazeing.utils import BiMap, AVLTree
+from amazeing.utils import BiMap
from amazeing.config.config_parser import Color, Config, ColoredLine, ColorPair
from amazeing.maze_display.layout import (
BInt,
def __iter__(self) -> Iterator[T]:
if self.root is None:
- return ()
+ return iter(())
return iter(self.root)
def append(self, value: T) -> "Leaf[T]":
if self.revcontains(revkey):
self.revremove(revkey)
if not self.contains(key):
- tree = AVLTree()
+ tree = AVLTree[R]()
self.__map[key] = tree
self.__revmap[tree] = key
self.__leafmap[revkey] = self.__map[key].append(revkey)
if src not in self.__map:
return
if dst not in self.__map:
- tree = AVLTree()
+ tree = AVLTree[R]()
self.__map[dst] = tree
self.__revmap[tree] = dst
self.__map[dst].rjoin(self.__map.pop(src))
-from collections.abc import Callable, Generator, Iterable
-from typing import cast
+from collections.abc import Callable, Generator
from amazeing.maze_display.backend import IVec2
from functools import partial
from itertools import chain
def node_tiles(
node: MaybeNode, pos: IVec2, height: int
) -> Generator[IVec2]:
- if height == 0 and node == True:
+ if height == 0 and node is True:
yield pos
- if height == 0 or node == False:
+ if height == 0 or node is False:
return
for pos, node in zip4(
Tree.node_starts(pos, height), Tree.node_split(node)
-WIDTH=1000
-HEIGHT=1000
+WIDTH=100
+HEIGHT=100
ENTRY=0,0
EXIT=24,24
OUTPUT_FILE=test