swarm-0.6.0.0: data/scenarios/Mechanics/active-trapdoor.yaml
version: 1
name: Active trapdoor
author: Karl Ostmo
description: |
This gate closes once you have passed.
This is an "active" trapdoor in the sense that a system robot
continuously monitors its status and operates it.
It is in contrast with a sokoban-style trapdoor
that is "passive" in its operation.
creative: false
objectives:
- goal:
- Grab the flower.
condition: |
as base {has "flower"}
robots:
- name: base
display:
char: 'ω'
attr: robot
dir: north
devices:
- treads
- 3D printer
- ADT calculator
- branch predictor
- clock
- comparator
- counter
- dictionary
- grabber
- hearing aid
- lambda
- logger
- mirror
- net
- scanner
- strange loop
- string
- workbench
inventory:
- [1, treads]
- name: gate
system: true
dir: north
display:
invisible: true
inventory:
- [1, boulder]
program: |
run "scenarios/Mechanics/_active-trapdoor/gate.sw"
solution: |
run "scenarios/Mechanics/_active-trapdoor/solution.sw"
known: [water, boulder, flower]
seed: 0
world:
dsl: |
{stone, water}
upperleft: [0, 0]
palette:
'@': [stone, boulder]
'.': [grass, erase]
G: [stone, erase, gate]
Ω: [grass, erase, base]
f: [grass, flower]
map: |
.....
..f..
.....
@@.@@
.@.@.
.@.@.
.@G@.
.@.@.
.@.@.
@@.@@
.....
..Ω..
.....