From 75013fbcdda36e012b6f214ae2c6e553e628ef72 Mon Sep 17 00:00:00 2001 From: Stefan Harmuth Date: Sun, 17 Sep 2023 04:08:00 +0200 Subject: [PATCH] Grid.move() --- tools/grid.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/grid.py b/tools/grid.py index 7027a7b..7cc94a4 100644 --- a/tools/grid.py +++ b/tools/grid.py @@ -120,6 +120,12 @@ class Grid: return value + def move(self, pos: Coordinate, vec: Coordinate,): + target = pos + vec + self.set(target, self.get(pos)) + if pos in self.__grid: + del self.__grid[pos] + def add(self, pos: Coordinate, value: Numeric = 1) -> Numeric: return self.set(pos, self.get(pos) + value) @@ -448,7 +454,7 @@ class Grid: put_y = y put_x += 1 - def print(self, spacer: str = "", true_char: str = '#', false_char: str = " ", translate: dict = None, mark: list = None, z_level: int = None): + def print(self, spacer: str = "", true_char: str = '#', false_char: str = " ", translate: dict = None, mark: list = None, z_level: int = None, bool_mode: bool = False): if translate is None: translate = {} @@ -463,6 +469,8 @@ class Grid: if mark and pos in mark: print("X", end="") + elif bool_mode: + print(true_char if self.get(pos) else false_char, end="") else: value = self.get(pos) if isinstance(value, list):