diff options
Diffstat (limited to 'Walls.py')
| -rw-r--r-- | Walls.py | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -8,11 +8,11 @@ class Walls: Useful as a wrapper to later increase performance of these operations.""" - def __init__(self, walls): - _walls = [] + def __init__(self, walls: list[Vec2]) -> None: self._walls = walls - def fromString(wallString): + @staticmethod + def fromString(wallString: str) -> 'Walls': walls = [] y = 0 for line in wallString.split('\n'): @@ -24,15 +24,19 @@ class Walls: y += 1 return Walls(walls) - def walls(self): + @staticmethod + def empty() -> 'Walls': + return Walls([]) + + def walls(self) -> list[Vec2]: return self._walls - def wallAt(self, pos): + def wallAt(self, pos: Vec2) -> bool: return (pos in self._walls) - def width(self): + def width(self) -> int: return max(self._walls, key=lambda p: p.x).x + 1 - def height(self): + def height(self) -> int: return max(self._walls, key=lambda p: p.y).y + 1 |
