packages feed

swarm-0.4: data/scenarios/Testing/1138-structures/nested-structure.yaml

version: 1
name: Structure placement (nested)
description: |
  Define a structure and place it in the map.
robots:
  - name: base
    loc: [11, 0]
    dir: [1, 0]
known: [tree, flower, bit (0), bit (1)]
world:
  palette:
    '.': [grass]
    '*': [stone, flower]
    '┌': [stone, upper left corner]
    '┐': [stone, upper right corner]
    '└': [stone, lower left corner]
    '┘': [stone, lower right corner]
    '─': [stone, horizontal wall]
    '│': [stone, vertical wall]
  upperleft: [-1, 1]
  structures:
    - name: bitpair
      structure:
        palette:
          '0': [stone, bit (0)]
          '1': [stone, bit (1)]
        map: |
          1
          0
    - name: bigbox
      structure:
        palette:
          '.': [stone]
          'T': [stone, tree]
        structures:
          - name: minibox
            structure:
              palette:
                '.': [stone]
                '┌': [stone, upper left corner]
                '┐': [stone, upper right corner]
                '└': [stone, lower left corner]
                '┘': [stone, lower right corner]
              placements:
                - src: bitpair
                  offset: [1, 0]
              map: |
                ┌.┐
                └.┘
        placements:
          - src: minibox
            offset: [0, -1]
          - src: minibox
            offset: [3, -1]
        map: |
          TTTTTT
          T.T.T.
          .T.T.T
          TTTTTT
  placements:
    - src: bigbox
      offset: [1, -1]
    - src: bigbox
      offset: [7, -5]
    - src: bitpair
      offset: [1, -7]
    - src: bitpair
      offset: [2, -7]
    - src: bitpair
      offset: [3, -7]
  map: |
    ┌────────────┐
    │*..*..*..*..│
    │.*..*..*..*.│
    │..*..*..*..*│
    │*..*..*..*..│
    │.*..*..*..*.│
    │..*..*..*..*│
    │*..*..*..*..│
    │.*..*..*..*.│
    └────────────┘