Я создаю шахматный проект в python, я определил ход для слона и ладьи, и потому что королева использует те же ходы, что и я, я хотел, чтобы она унаследовала от ладьи и класса слона и использовала их ход функции.
class Queen(Rook,Bishop):
def __init__(self,color,startX,startY):
super().__init__(color,startX,startY)
if self.color == 'w':
self.img = pg.image.load('Queen_White.png').convert_alpha()
else:
self.img = pg.image.load('Queen_Black.png').convert_alpha()
def Move(self,chessRects,pieces):
self.move_list.clear()
bishop_kind_move = Bishop.Move(self,chessRects,pieces)
print(len(bishop_kind_move))
rook_kind_move = Rook.Move(self,chessRects,pieces)
print(len(bishop_kind_move))
if len(bishop_kind_move) > 0:
print("HERE")
self.move_list = bishop_kind_move
if len(rook_kind_move) > 0:
self.move_list.append(rook_kind_move)
else:
if len(rook_kind_move) > 0:
self.move_list = rook_kind_move
return self.move_list
Как вы можете видеть, я сделал некоторую проверку и написал две строки для печати, вот результаты: 3, 0 Я обнаружил, что после того, как я использую метод перемещения ладьи, он удаляет мои значения или сбрасывает их :(. Я не знаю, в чем причина, но это бьет мою голову, это не имеет смысла для меня: (