packages feed

swarm-0.7.0.0: data/scenarios/Testing/144-subworlds/teleport-and-query.yaml

version: 1
name: Subworld teleportation
description: |
  Surface and underground with portals.
objectives:
  - goal:
      - |
        System robot must teleport the base to another subworld.
        The goal condition utilizes location query command.
    condition: |
      as base {
        myloc <- locateme;
        match myloc \w. \_.
        pure $ w == "underground";
      }
solution: |
  noop
robots:
  - name: base
    dir: east
    devices:
      - ADT calculator
      - branch predictor
      - comparator
      - compass
      - dictionary
      - GPS receiver
      - grabber
      - lambda
      - lodestone
      - logger
      - strange loop
      - treads
  - name: judge
    dir: east
    system: true
    display:
      char: 'J'
      invisible: true
    program: |
      wait 10;
      warp base ("underground", (0, 0));
known: [flower, boulder]
subworlds:
  - name: underground
    default: [blank]
    palette:
      '.': [dirt]
      'f': [dirt, flower]
      'b': [dirt, boulder]
    upperleft: [-1, 1]
    map: |
      b..b..b..b
      ....f.....
      b..b..b..b
world:
  name: root
  default: [blank]
  palette:
    '.': [grass]
    'B': [grass, null, base]
    't': [ice, null, judge]
  upperleft: [-1, 1]
  map: |
    ..........
    ...Bt.....
    ..........