swarm-0.5.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;
return $ 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, portable]
capabilities: [ping]
robots:
- name: base
dir: [-1,0]
devices:
- calculator
- antenna
- branch predictor
- comparator
- dictionary
- grabber
- hourglass
- logger
- transponder
- welder
- name: buddy
dir: [1, 0]
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 ((x + 3) % 19)/12 + (y % 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