Example #1
0
    def gen_rand_box_combo(self, pos_boxes):
        used_boxes = []
        pos_indices = [i for i in range(len(pos_boxes))]
        random.shuffle(pos_indices)
        temp = Backpack()
        temp.reset_boxes()
        count = 0
        index = pos_indices[count]

        while temp.add_box(pos_boxes[index]):
            used_boxes.append(pos_boxes[index])
            while pos_boxes[index] in used_boxes:
                count += 1 
                if count >= len(pos_boxes):
                    return temp.boxes
                index = pos_indices[count]
                
                assert count < len(pos_indices)
            
        return temp.boxes