38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
|
|
class Cell:
|
||
|
|
|
||
|
|
def __init__(self, x, y, isWall=False, isStart=False, isExit=False):
|
||
|
|
self.__x = x
|
||
|
|
self.__y = y
|
||
|
|
self.isWall = isWall
|
||
|
|
self.isStart = isStart
|
||
|
|
self.isExit = isExit
|
||
|
|
pass
|
||
|
|
|
||
|
|
@property
|
||
|
|
def isPassable(self) -> bool:
|
||
|
|
"""возвращает `True` для прохода, если клетка не стена"""
|
||
|
|
return not self.isWall
|
||
|
|
|
||
|
|
@property
|
||
|
|
def x(self) -> int:
|
||
|
|
"""Возвращает координату клетки по оси X"""
|
||
|
|
return self.__x
|
||
|
|
|
||
|
|
@property
|
||
|
|
def y(self) -> int:
|
||
|
|
"""Возвращает координату клетки по оси Y"""
|
||
|
|
return self.__y
|
||
|
|
|
||
|
|
def getXY(self) -> tuple[int, int]:
|
||
|
|
"""Возвращает кортеж координат в формате `(x, y)`"""
|
||
|
|
return self.__x, self.__y
|
||
|
|
|
||
|
|
def toStr(self):
|
||
|
|
if self.isWall:
|
||
|
|
return '#'
|
||
|
|
elif self.isStart:
|
||
|
|
return 'S'
|
||
|
|
elif self.isExit:
|
||
|
|
return 'E'
|
||
|
|
else:
|
||
|
|
return ' '
|