packages feed

swarm-0.7.0.0: data/scenarios/Testing/1356-portals/portals-flip-and-rotate.yaml

version: 1
name: Portals with substructure flip and rotation
description: |
  Validate proper flip/rotate of portal waypoints
objectives:
  - goal:
      - |
        `grab` the "bitcoin"
    condition: |
      as base {has "bitcoin"}
solution: |
  run "scenarios/Testing/1356-portals/_portals-flip-and-rotate/solution.sw"
attrs:
  - name: portal_in
    fg: "#ff9a00"
    bg: "#ff5d00"
  - name: portal_out
    fg: "#00a2ff"
    bg: "#0065ff"
entities:
  - name: telepad entrance
    display:
      attr: portal_in
      char: "o"
    description:
      - Portal entrance
    properties: [known]
  - name: telepad exit
    display:
      attr: portal_out
      char: "o"
    description:
      - Portal exit
    properties: [known]
robots:
  - name: base
    dir: east
    devices:
      - ADT calculator
      - branch predictor
      - comparator
      - compass
      - dictionary
      - GPS receiver
      - grabber
      - lambda
      - lodestone
      - logger
      - strange loop
      - treads
known: [flower, bit (0), bit (1), bitcoin]
world:
  palette:
    '.': [grass]
    '*': [stone, flower]
    'b': [stone, bitcoin]
    '+': [stone, wall]
    'p':
      cell: [dirt, telepad exit, base]
      waypoint:
        name: portal_out
  upperleft: [-1, 1]
  structures:
    - name: tetromino
      structure:
        mask: '.'
        palette:
          '0': [stone, bit (0)]
          '1': [stone, bit (1)]
          'P':
            cell: [dirt, telepad entrance]
            waypoint:
              name: portal_in
        map: |
          10..
          1P..
          10..
          10..
          1000
          1111
  placements:
    - src: tetromino
      offset: [3, -2]
    - src: tetromino
      offset: [9, -2]
      orient:
        up: east
    - src: tetromino
      offset: [17, -2]
      orient:
        up: south
    - src: tetromino
      offset: [23, -2]
      orient:
        up: west
    - src: tetromino
      offset: [3, -9]
      orient:
        up: north
        flip: true
    - src: tetromino
      offset: [9, -9]
      orient:
        up: east
        flip: true
    - src: tetromino
      offset: [17, -9]
      orient:
        up: south
        flip: true
    - src: tetromino
      offset: [23, -9]
      orient:
        up: west
        flip: true
  portals:
    - entrance: portal_in
      exitInfo:
        exit: portal_out
  map: |
    ++++++++++++++++++++++++++++++++
    +p..*..*..*..*..*..*..*..*..*..+
    +.*..*..*..*..*..*..*..*..*..*.+
    +..*..*..*..*..*..*..*..*..*..*+
    +*..*..*..*..*..*..*..*..*..*..+
    +.*..*..*..*..*..*..*..*..*..*.+
    +..*..*..*..*..*..*..*..*..*..*+
    +*..*..*..*..*..*..*..*..*..*..+
    +.*..*..*..*..*..*..*..*..*..*.+
    +..*..*..*..*..*..*..*..*..*..*+
    +*..*..*..*..*..*..*..*..*..*..+
    +.*..*..*..*..*..*..*..*..*..*.+
    +..*..*..*..*..*..*..*..*..*..*+
    +*..*..*..*..*..*..*..*..*..*..+
    +.*..*..*..*..*..*..*..*..*..*.+
    +..*..*..*..*..*..*..*..*..*..b+
    ++++++++++++++++++++++++++++++++