def is_Piece_threating_piece(board, piece, Piece): color_op = piece.color if Piece == Pawn: dir_op = 'down' if piece.rotate else 'up' piece = Pawn(piece.pos, color_op, dir_op) else: piece = Piece( piece.pos, color_op, ) moves = piece.all_possible_moves(board) pos_possible_piece = [None] * 2 for move in moves: pos_possible_piece[0] = piece.pos[0] + move[0] pos_possible_piece[1] = piece.pos[1] + move[1] if Rule.is_in_range(pos_possible_piece): possible_piece = board.arr[pos_possible_piece[1]][ pos_possible_piece[0]] if isinstance(possible_piece, Piece): return True return False