swarm-0.5.0.0: data/scenarios/Testing/1535-ping/1535-in-range.yaml
version: 1
name: Ping command - Demo
description: |
Robot is in range for ping
creative: false
objectives:
- teaser: Follow buddy
goal:
- You and your buddy each have half of a map to a cache of buried treasure.
- |
`give` him your `map piece`{=entity}, which he will use to
locate the `bitcoin`{=entity}, which you must `grab`.
condition: |
as base {
has "bitcoin";
}
solution: |
run "scenarios/Testing/1535-ping/_1535-in-range/solution.sw"
entities:
- name: transponder
display:
char: 'x'
description:
- Enables `ping` command
properties: [known, portable]
capabilities: [ping]
- name: map piece
display:
char: 'm'
description:
- Half of a treasure map
properties: [known, portable]
robots:
- name: base
dir: [1,0]
devices:
- ADT calculator
- antenna
- branch predictor
- comparator
- compass
- dictionary
- grabber
- hourglass
- logger
- transponder
- treads
inventory:
- [1, map piece]
- name: buddy
dir: [-1, 0]
system: true
display:
invisible: false
devices:
- ADT calculator
- antenna
- bitcoin
- branch predictor
- comparator
- counter
- dictionary
- grabber
- hourglass
- logger
- transponder
- treads
inventory:
- [1, map piece]
- [1, bitcoin]
program: |
run "scenarios/Testing/1535-ping/_1535-in-range/buddy.sw"
known: [bitcoin]
world:
dsl: |
overlay
[ {terrain: stone}
, if (x/5 + y/5) % 2 == 0 then {terrain: dirt} else {blank}
, if ((x + 3) % 19)/12 + (y % 19)/12 == 0 then {terrain: grass} else {blank}
]
palette:
'B': [blank, null, base]
'r': [blank, null, buddy]
'.': [blank]
upperleft: [-1, 0]
map: |
B.r