grid.Grid: let add() and sub() use self.set() instead of reimplementing part of it. Also makes sure default values aren't part of the dict anymore.
This commit is contained in:
parent
8f024354e6
commit
e2d36cbde6
14
grid.py
14
grid.py
@ -48,7 +48,7 @@ class Grid:
|
||||
self.__grid[pos] = not self.__default
|
||||
|
||||
def set(self, pos: Coordinate, value: Any = True):
|
||||
if value in OFF_STATES and pos in self.__grid:
|
||||
if (value == self.__default or value in OFF_STATES) and pos in self.__grid:
|
||||
del self.__grid[pos]
|
||||
elif value not in OFF_STATES:
|
||||
self.__trackBoundaries(pos)
|
||||
@ -90,18 +90,10 @@ class Grid:
|
||||
return self.minX <= pos.x <= self.maxX and self.minY <= pos.y <= self.maxY
|
||||
|
||||
def add(self, pos: Coordinate, value: Union[float, int] = 1):
|
||||
if pos in self.__grid:
|
||||
self.__grid[pos] += value
|
||||
else:
|
||||
self.__trackBoundaries(pos)
|
||||
self.__grid[pos] = self.__default + value
|
||||
self.set(pos, self.get(pos) + value)
|
||||
|
||||
def sub(self, pos: Coordinate, value: Union[float, int] = 1):
|
||||
if pos in self.__grid:
|
||||
self.__grid[pos] -= value
|
||||
else:
|
||||
self.__trackBoundaries(pos)
|
||||
self.__grid[pos] = self.__default - value
|
||||
self.set(pos, self.get(pos) - value)
|
||||
|
||||
def getActiveCells(self):
|
||||
return [i for i in self.__grid.keys()]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user