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.....
..........