Code:
EndlessLoop = Exercise(
    initial_box_placement = [
        [X],
        [O, X, O, X],
        [M, M, M],
        [],
        []
    ],
    target_box_placement = [],
    program = Program(
        P1 = [GO_RIGHT, GO_RIGHT, GO_TO_P2],
        P2 = [GO_DOWN_AND_UP, GO_RIGHT, GO_DOWN_AND_UP, GO_LEFT, GO_TO_P2]
    )
)

AllRight = Exercise(
    initial_box_placement = [
        [],
        [],
        [X, X, X],
        [X],
        [],
        [],
        [X, X]
    ],
    target_box_placement = [
        [X, X, X, X, X, X],
        [],
        [],
        [],
        [],
        [],
        []
    ],
    program = Program(
        P1 = [GO_TO_P2, GO_TO_P2, GO_TO_P2, GO_TO_P2, GO_TO_P2, GO_TO_P2],
        P2 = [GO_TO_P3, GO_DOWN_AND_UP],
        P3 = [GO_RIGHT, GO_DOWN_AND_UP, IF_NO_BOX, GO_TO_P3, GO_LEFT]
    )
)

AllRightSelective = Exercise(
    initial_box_placement = [
        [],
        [X],
        [X, O, O],
        [X],
        [X, O],
        [X],
        [O, O, O, O]
    ],
    target_box_placement = [
        [O, O, O, O, O, O, O],
        [X],
        [X],
        [X],
        [X],
        [X],
        []
    ],
    program = Program(
        P1 = [GO_TO_P2],
        P2 = [GO_TO_P3, GO_DOWN_AND_UP, GO_TO_P2],
        P3 = [GO_RIGHT, GO_DOWN_AND_UP, IF_BOX_X, GO_DOWN_AND_UP, IF_NO_BOX, GO_TO_P3, GO_LEFT]
    )
)

MultiSort = Exercise(
    initial_box_placement = [
        [],
        [X, M, O, X, M, M],
        [],
        [O, O, X, X, M, O],
        []
    ],
    target_box_placement = [
        [X, X, X, X],
        [],
        [O, O, O, O],
        [],
        [M, M, M, M]
    ],
    program = Program(
        P1 = [IF_BOX_X, GO_DOWN_AND_UP, GO_TO_P4, IF_BOX_O, GO_DOWN_AND_UP, GO_TO_P4, IF_BOX_M, GO_DOWN_AND_UP, GO_TO_P2],
        P2 = [GO_LEFT, GO_LEFT, GO_LEFT, GO_LEFT, GO_TO_P1],
        P4 = [GO_RIGHT, IF_NO_BOX, GO_DOWN_AND_UP, GO_RIGHT]
    )
)

VerticalSort = Exercise(
    initial_box_placement = [
        [],
        [X, O, X, O, O],
        [O, X, O],
        [X, O, O, X],
        [O, X],
        [O, X, X, X, O],
        []
    ],
    target_box_placement = [
        [],
        [X, X, O, O, O],
        [X, O, O],
        [X, X, O, O],
        [X, O],
        [X, X, X, O, O],
        []
    ],
    program = Program(
        P1 = [GO_RIGHT, GO_DOWN_AND_UP, GO_TO_P2, GO_TO_P1],
        P2 = [IF_BOX_X, GO_TO_P3, IF_BOX_O, GO_TO_P4, GO_DOWN_AND_UP, IF_BOX, GO_TO_P2, GO_TO_P3, IF_BOX_O, GO_TO_P3, IF_NO_BOX, GO_TO_P4, GO_DOWN_AND_UP],
        P3 = [GO_LEFT, GO_DOWN_AND_UP, GO_RIGHT],
        P4 = [GO_RIGHT, GO_DOWN_AND_UP, GO_LEFT]
    )
)
Last modified: Thursday, 5 December 2019, 3:58 PM