swarm-0.6.0.0: data/scenarios/Testing/1341-command-count.yaml
version: 1
name: Count commands
creative: true
description: |
Count commands and demonstrate various "duty cycles"
with system robots. The four robots should have duty
cycles of 100%, 50%, 33%, and 25% based on the number
of ticks that they `wait`.
objectives:
- goal:
- |
`grab` the "tree".
condition: |
as base {has "tree"}
solution: |
move;
move;
wait 10;
x <- harvest;
if (x == "flower") {
turn right;
move;
grab;
} {
return "";
};
robots:
- name: base
dir: east
devices:
- treads
- grabber
- harvester
- logger
- comparator
- hourglass
- branch predictor
- name: idler1
dir: east
system: true
devices:
- dictionary
- strange loop
- hourglass
program: |
def go =
wait 1;
go;
end;
go;
- name: idler2
dir: east
system: true
devices:
- dictionary
- strange loop
- hourglass
program: |
def go =
wait 2;
go;
end;
go;
- name: idler3
dir: east
system: true
devices:
- dictionary
- strange loop
- hourglass
program: |
def go =
wait 3;
go;
end;
go;
- name: idler4
dir: east
system: true
devices:
- dictionary
- strange loop
- hourglass
program: |
def go =
wait 4;
go;
end;
go;
known: [flower, tree]
world:
default: [blank]
palette:
'.': [grass]
'f': [grass, flower]
'T': [grass, tree]
'B': [grass, null, base]
'1': [grass, null, idler1]
'2': [grass, null, idler2]
'3': [grass, null, idler3]
'4': [grass, null, idler4]
upperleft: [-1, 1]
map: |
........1
.B.fff..2
...T....3
........4