packages feed

swarm-0.4: data/scenarios/Testing/144-subworlds/basic-subworld.yaml

version: 1
name: Subworlds demo
description: |
  Surface and underground with portals.
objectives:
  - goal:
    - |
      `place` the "flower" on the white cell.
    condition: |
      j <- robotnamed "judge";
      as j {ishere "flower"}
solution: |
  run "scenarios/Testing/144-subworlds/_basic-subworld/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: [1, 0]
    devices:
      - ADT calculator
      - branch predictor
      - comparator
      - compass
      - dictionary
      - GPS receiver
      - grabber
      - lambda
      - lodestone
      - logger
      - strange loop
      - treads
  - name: judge
    dir: [1, 0]
    system: true
    display:
      char: 'J'
      invisible: true
known: [flower, boulder]
subworlds:
  - name: underground
    default: [blank]
    palette:
      '.': [dirt]
      'f': [dirt, flower]
      'b': [dirt, boulder]
      'p':
        cell: [dirt, telepad exit]
        waypoint:
          name: portal_out2
      'P':
        cell: [dirt, telepad entrance]
        waypoint:
          name: portal_in2
    portals:
      - entrance: portal_in2
        exitInfo:
          exit: portal_out1
          subworldName: root
    upperleft: [-1, 1]
    map: |
      b..b..b..b
      .p..f...P.
      b..b..b..b
world:
  name: root
  default: [blank]
  palette:
    '.': [grass]
    'B': [grass, null, base]
    't': [ice, null, judge]
    'p':
      cell: [grass, telepad exit]
      waypoint:
        name: portal_out1
    'P':
      cell: [grass, telepad entrance]
      waypoint:
        name: portal_in1
  upperleft: [-1, 1]
  portals:
    - entrance: portal_in1
      exitInfo:
        exit: portal_out2
        subworldName: underground
  map: |
    ..........
    .p.Bt...P.
    ..........