def get_move(self, board, xto, yto): move = 0 if (board.in_bounds(xto, yto)): piece = board.get_piece(xto, yto) if (piece != 0): if (piece.color != self.color): move = ai.Move(self.x, self.y, xto, yto, False) else: move = ai.Move(self.x, self.y, xto, yto, False) return move
def get_possible_diagonal_moves(self, board): moves = [] for i in range(1, 8): if (not board.in_bounds(self.x + i, self.y + i)): break piece = board.get_piece(self.x + i, self.y + i) moves.append(self.get_move(board, self.x + i, self.y + i)) if (piece != 0): break for i in range(1, 8): if (not board.in_bounds(self.x + i, self.y - i)): break piece = board.get_piece(self.x + i, self.y - i) moves.append(self.get_move(board, self.x + i, self.y - i)) if (piece != 0): break for i in range(1, 8): if (not board.in_bounds(self.x - i, self.y - i)): break piece = board.get_piece(self.x - i, self.y - i) moves.append(self.get_move(board, self.x - i, self.y - i)) if (piece != 0): break for i in range(1, 8): if (not board.in_bounds(self.x - i, self.y + i)): break piece = board.get_piece(self.x - i, self.y + i) moves.append(self.get_move(board, self.x - i, self.y + i)) if (piece != 0): break return self.remove_null_from_list(moves)