2025-02-02 13:20:59 +01:00

24 lines
642 B
Python

from logic.move import Move
from .piece import Piece
class Rook(Piece):
def legal_moves(self, board: "Board", / , looking_for_check = False) -> list[Move]:
ret = []
# looking east
ret.extend(self._look_direction(board, 1, 0))
# looking south
ret.extend(self._look_direction(board, 0, -1))
# looking west
ret.extend(self._look_direction(board, -1, 0))
# looking north
ret.extend(self._look_direction(board, 0, 1))
if not looking_for_check:# and board.is_check_for(self.colour):
return self.keep_only_blocking(ret, board)
return ret