class Cell: def __init__( self, x: int, y: int, isWall: bool = False, isStart: bool = False, isExit: bool = False ): self.x = x self.y = y self.isWall = isWall self.isStart = isStart self.isExit = isExit def isPassable(self) -> bool: return self.isWall is False def getPosition(self): return self.x, self.y def __str__(self): if self.isStart: return "S" if self.isExit: return "E" if self.isWall: return "#" return " " def __repr__(self): return ( f"Cell(x={self.x}, y={self.y}, " f"wall={self.isWall}, " f"start={self.isStart}, " f"exit={self.isExit})" )