swarm-0.7.0.0: data/scenarios/Testing/1575-structure-recognizer/1575-overlapping-tiebreaker-by-largest.yaml
version: 1
name: Structure recognizer - Tiebreaking overlaps by size
description: |
A larger overlapping structure should always win the tiebreaker
creative: false
objectives:
- teaser: Build structure
prerequisite:
not: wrong_structure
goal:
- |
Build a 3x3 structure
condition: |
foundStructure <- structures "large";
pure $ case foundStructure (\_. false) (\_. true);
- id: wrong_structure
teaser: Don't recognize small structure
optional: true
goal:
- |
The small structure shouldn't be recognized.
condition: |
foundStructure <- structures "small";
pure $ case foundStructure (\_. false) (\_. true);
robots:
- name: base
dir: east
devices:
- grabber
- treads
inventory:
- [1, gold]
- [1, silver]
solution: |
move;
place "gold";
structures:
- name: large
recognize: [north]
structure:
mask: '.'
palette:
'g': [stone, gold]
's': [stone, silver]
map: |
sss
ggs
ggs
- name: small
recognize: [north]
structure:
mask: '.'
palette:
'g': [stone, gold]
map: |
gg
gg
world:
name: root
dsl: |
{blank}
palette:
'.': [grass]
'g': [grass, gold]
's': [grass, silver]
'B': [grass, null, base]
upperleft: [0, 0]
map: |
.sss
.ggs
B.gs