swarm-0.6.0.0: data/scenarios/Challenges/combo-lock.yaml
version: 1
name: Combination locks
author: Karl Ostmo
description: |
Unlock the gates
creative: false
seed: 4
objectives:
- goal:
- |
Several combination-locked gates lie between you
and treasure.
- |
Each "dial" can be one of three colors.
`drill` a dial to cycle to its next color.
The adjacent `gate`{=entity} opens when the correct
combination is set.
- |
Unlock all of the combination locks and `grab`
the `bitcoin`{=entity}.
condition: |
as base {has "bitcoin"};
robots:
- name: base
dir: east
display:
invisible: false
devices:
- ADT calculator
- branch predictor
- hourglass
- comparator
- compass
- dictionary
- drill
- grabber
- lambda
- lodestone
- logger
- keyboard
- net
- scanner
- strange loop
- treads
- name: lockbot
system: true
dir: east
display:
invisible: true
program: |
run "scenarios/Challenges/_combo-lock/setup.sw"
solution: |
run "scenarios/Challenges/_combo-lock/solution.sw"
entities:
- name: gate
display:
char: '#'
description:
- A locked door
properties: [known, unwalkable]
- name: "dial (R)"
display:
char: '•'
attr: red
description:
- A red dial
properties: [known]
- name: "dial (G)"
display:
char: '•'
attr: green
description:
- A green dial
properties: [known]
- name: "dial (B)"
display:
char: '•'
attr: blue
description:
- A blue dial
properties: [known]
recipes:
- in:
- [1, "dial (R)"]
out:
- [1, "dial (G)"]
required:
- [1, drill]
time: 0
- in:
- [1, "dial (G)"]
out:
- [1, "dial (B)"]
required:
- [1, drill]
time: 0
- in:
- [1, "dial (B)"]
out:
- [1, "dial (R)"]
required:
- [1, drill]
time: 0
known: [boulder, water, bitcoin]
world:
dsl: |
{water}
upperleft: [-1, -1]
offset: false
palette:
'.': [grass, erase]
'$': [grass, bitcoin]
'@': [grass, boulder]
'#': [grass, gate]
'B': [grass, erase, base]
'c': [grass, dial (R)]
'a': [grass, erase, lockbot]
map: |
.......$......
@@@@@......@@@
....@######@..
....acccccc...
..............
@@@@@.....@@@@
....@#####@...
....accccc....
..............
@@@@@....@@@@@
....@####@....
....acccc.....
..............
@@@@@...@@@@@@
....@###@.....
..B.accc......
..............