swarm-0.7.0.0: data/scenarios/Testing/1575-structure-recognizer/1575-browse-structures.yaml
version: 1
name: Structure browser
description: |
Hit *F6* to view the recognizable structures.
Only the subset of the structures marked with
*recognize: [north]* are browseable.
In particular, the `donut`{=structure} structure is placed
in the map but not displayed in the *F6* dialog.
creative: false
objectives:
- teaser: Build structure
goal:
- |
Build a `precious`{=structure} structure
condition: |
foundStructure <- structures "precious";
pure $ case foundStructure (\_. false) (\_. true);
robots:
- name: base
dir: east
devices:
- grabber
- treads
inventory:
- [50, flower]
- [50, log]
- [50, rock]
- [50, copper pipe]
- [50, iron gear]
- [50, quartz]
- [50, gold]
- [50, silver]
- [50, mithril]
- [50, cotton]
solution: |
move;
place "quartz";
move;
place "quartz";
move;
place "mithril";
structures:
- name: donut
structure:
palette:
'@': [dirt, rock]
mask: '.'
map: |
.@@@.
@@@@@
@@.@@
@@@@@
.@@@.
- name: diamond
recognize: [north]
description: "A diamond pattern of flowers"
structure:
mask: '.'
palette:
'x': [stone, flower]
map: |
...x...
..xxx..
.xxxxx.
xxxxxxx
.xxxxx.
..xxx..
...x...
- name: contraption
recognize: [north]
description: "A device for assembling useful widgets"
structure:
mask: '.'
palette:
'r': [stone, log]
'I': [stone, rock]
'l': [stone, copper pipe]
'g': [stone, iron gear]
map: |
rllllr
lIIIIl
lIIIgg
rlllgg
- name: precious
recognize: [north]
structure:
mask: '.'
palette:
'q': [stone, quartz]
'g': [stone, gold]
's': [stone, silver]
'm': [stone, mithril]
map: |
qgs
gsq
qqm
- name: smallish
recognize: [north]
structure:
mask: '.'
palette:
'q': [stone, quartz]
'm': [stone, mithril]
'c': [stone, cotton]
map: |
qqm
cqq
known: [flower, log, rock, copper pipe, iron plate]
world:
name: root
dsl: |
{blank}
palette:
'.': [grass]
'q': [grass, quartz]
'g': [grass, gold]
's': [grass, silver]
'c': [grass, cotton]
'B': [grass, null, base]
upperleft: [0, 0]
placements:
- src: donut
offset: [6, 0]
map: |
.qgs.........
.gsq.........
B............
.cqq.........
.............