Example #1
0
 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
Example #2
0
    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)