range methods
better get() allow print() to be useful with false/true grids
This commit is contained in:
parent
d5a278ceef
commit
3c855e6749
@ -34,13 +34,22 @@ class Grid:
|
||||
self.mode3D = False
|
||||
|
||||
def __trackBoundaries(self, pos: Coordinate):
|
||||
self.minX = min(self.minX, pos.x)
|
||||
self.minY = min(self.minY, pos.y)
|
||||
self.maxX = max(self.maxX, pos.x)
|
||||
self.maxY = max(self.maxY, pos.y)
|
||||
self.minX = min(pos.x, self.minX)
|
||||
self.minY = min(pos.y, self.minY)
|
||||
self.maxX = max(pos.x, self.maxX)
|
||||
self.maxY = max(pos.y, self.maxY)
|
||||
if self.mode3D:
|
||||
self.minZ = min(self.minZ, pos.z)
|
||||
self.maxZ = max(self.maxZ, pos.z)
|
||||
self.minZ = min(pos.z, self.minZ)
|
||||
self.maxZ = max(pos.z, self.maxZ)
|
||||
|
||||
def rangeX(self):
|
||||
return range(self.minX, self.maxX + 1)
|
||||
|
||||
def rangeY(self):
|
||||
return range(self.minY, self.maxY + 1)
|
||||
|
||||
def rangeZ(self):
|
||||
return range(self.minZ, self.maxZ + 1)
|
||||
|
||||
def toggle(self, pos: Coordinate):
|
||||
if pos in self.__grid:
|
||||
@ -74,10 +83,7 @@ class Grid:
|
||||
return self.set(pos, self.get(pos) / value)
|
||||
|
||||
def get(self, pos: Coordinate) -> Any:
|
||||
if pos in self.__grid:
|
||||
return self.__grid[pos]
|
||||
else:
|
||||
return self.__default
|
||||
return self.__grid.get(pos, self.__default)
|
||||
|
||||
def getOnCount(self) -> int:
|
||||
return len(self.__grid)
|
||||
@ -247,10 +253,13 @@ class Grid:
|
||||
|
||||
return pathCoords
|
||||
|
||||
def print(self, spacer: str = ""):
|
||||
def print(self, spacer: str = "", true_char: str = None):
|
||||
for y in range(self.minY, self.maxY + 1):
|
||||
for x in range(self.minX, self.maxX + 1):
|
||||
print(self.get(Coordinate(x, y)), end="")
|
||||
if true_char:
|
||||
print(true_char if self.get(Coordinate(x, y)) else " ", end="")
|
||||
else:
|
||||
print(self.get(Coordinate(x, y)), end="")
|
||||
print(spacer, end="")
|
||||
|
||||
print()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user