packages feed

swarm-0.1.0.0: data/scenarios/Tutorials/move_system.sw

def until = \c. b <- c; if b {} {until c} end;

// name format: NA Entity
// N - one digit room number
// A one letter action
nameCheck <- atomic (
    name <- whoami;
    check <- robotNamed ("check" ++ fst (split 1 name));
    return (name, check)
);
let a = fst $ split 1 $ snd $ split 1 $ fst nameCheck in
let e = snd $ split 3 $ fst nameCheck in

until (as (snd nameCheck) {has "Win"});

if (a == "S") {
    if (e != "") { create e } {};
    swap e;
    return ()
} { if (a == "G") {
    grab;
    return ()
} { if (a == "P") {
    if (e != "") { create e } {};
    place e
} {
    say $ "Finished waiting for check but I don't know what to do: '" ++ a ++ "'"
}}}