packages feed

swarm-0.6.0.0: data/scenarios/Testing/1575-structure-recognizer/1575-handle-overlapping.yaml

version: 1
name: Structure recognizer - Overlaps
description: |
  Completing a row that lies between two partially-complete structures
  may complete both of them, but only one will be registered.
creative: false
objectives:
  - teaser: Build structure
    goal:
      - |
        Build a `precious`{=structure} structure
    condition: |
      foundStructure <- structure "precious" 0;
      return $ case foundStructure (\_. false) (\_. true);
robots:
  - name: base
    dir: east
    devices:
      - grabber
      - treads
    inventory:
      - [50, quartz]
      - [50, gold]
      - [50, silver]
      - [50, mithril]
      - [50, cotton]
solution: |
  move;
  place "quartz";
  move;
  place "quartz";
  move;
  place "mithril";
structures:
  - 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
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]
  map: |
    .qgs.
    .gsq.
    B....
    .cqq.