packages feed

swarm-0.7.0.0: data/scenarios/Testing/1535-ping/1535-out-of-range.yaml

version: 1
name: Ping command - Range limits
description: |
  Demo effect of antenna on ping range
creative: false
objectives:
  - teaser: Escape
    goal:
      - Get out of `ping` range of your buddy's `transponder`{=entity}
    condition: |
      r <- robotnamed "buddy";
      as r {
        response <- ping base;
        pure $ case response (\_. true) (\_. false);
      }
solution: |
  run "scenarios/Testing/1535-ping/_1535-out-of-range/solution.sw"
entities:
  - name: transponder
    display:
      char: 'x'
    description:
      - Enables `ping` command
    properties: [known, pickable]
    capabilities: [ping]
robots:
  - name: base
    dir: west
    devices:
      - calculator
      - antenna
      - branch predictor
      - comparator
      - dictionary
      - grabber
      - hourglass
      - logger
      - transponder
      - welder
  - name: buddy
    dir: east
    devices:
      - ADT calculator
      - grabber
      - hourglass
      - logger
      - transponder
    inventory:
      - [1, treads]
    program: |
      give base "treads";
known: []
world:
  dsl: |
    overlay
    [ {terrain: blank}
    , if (x/4 + (-y)/4) % 2 == 0 then {terrain: dirt} else {blank}
    , if ((3 - y) % 19)/12 + (x % 19)/12 == 0 then {terrain: grass} else {blank}
    ]
  palette:
    'B': [stone, null, base]
    'r': [blank, null, buddy]
    '.': [ice]
    'x': [stone]
  upperleft: [0, 0]
  map: |
    rB.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x