Exemplo n.º 1
0
def generateBoards(parent1, parent2, boardSize):
    """
    This function creates two new children from the parent boards provided
    :param parent1: First parent
    :param parent2: second parent
    :param boardSize: size of the board
    :return: the children boards
    """
    board1 = GameBoard(boardSize)
    board2 = GameBoard(boardSize)
    slice = boardSize // 2
    board1.array = numpy.concatenate(
        (parent1.array[:slice], parent2.array[slice:]))
    board2.array = numpy.concatenate(
        (parent2.array[:slice], parent1.array[slice:]))
    board1.queens = parent1.queens[:slice] + parent2.queens[slice:]
    board2.queens = parent2.queens[:slice] + parent1.queens[slice:]
    return board1, board2