swarm-0.3.0.0: data/scenarios/Challenges/_wolf-goat-cabbage/cross.sw
def doN = \n. \f. if (n > 0) {f; doN (n - 1) f} {}; end;
def crossRiver =
doN 18 move;
end;
move;
move;
goat <- grab;
turn east;
crossRiver;
place goat;
turn back;
crossRiver;
turn right;
move;
wolf <- grab;
turn right;
crossRiver;
place wolf;
turn right;
move;
goat2 <- grab;
turn right;
crossRiver;
place goat2;
turn left;
move;
cabbage <- grab;
turn left;
crossRiver;
place cabbage;
turn back;
crossRiver;
turn right;
move;
goat3 <- grab;
turn right;
crossRiver;
place goat3;