コード例 #1
0
    def cross(self, p1, p2):
        board = Board()
        split = random.randint(0, p1.board.shape()[0])

        for i in range(split):
            board.set_row(i, p1.board.get_row(i))
        for i in range(split, p1.board.shape()[0]):
            board.set_row(i, p2.board.get_row(i))

        board.invariants = InvariantsMerger.merge_invariants(p1, p2, self.__area_function(split))

        genotype = BoardGenotype(board)
        return genotype