swarm-0.4: data/scenarios/Challenges/Sokoban/foresight.yaml
version: 1
name: Foresight
author: Karl Ostmo
description: |
Have assistants take their marks to execute the heist.
creative: false
seed: 0
attrs:
- name: barrier
fg: "#222222"
bg: "#111111"
- name: bluish
fg: "#bbbbff"
objectives:
- goal:
- Push a monolith onto the base's initial location.
condition: |
as base {
teleport self (0,0);
ishere "monolith";
};
- teaser: Pick flower
hidden: true
optional: true
goal:
- Grab the flower
condition: |
as base {
has "flower";
};
robots:
- name: base
display:
attr: bluish
dir: [0, 1]
devices:
- branch predictor
- ADT calculator
- comparator
- compass
- dictionary
- dozer blade
- grabber
- hourglass
- keyboard
- lambda
- logger
- net
- scanner
- strange loop
- treads
- welder
inventory:
- [5, dozer blade]
- [5, ADT calculator]
- [5, branch predictor]
- [5, hourglass]
- [5, comparator]
- [5, counter]
- [5, dictionary]
- [5, grabber]
- [5, lambda]
- [5, lodestone]
- [5, logger]
- [5, net]
- [5, rolex]
- [5, scanner]
- [5, solar panel]
- [5, string]
- [5, strange loop]
- [5, treads]
solution: |
run "scenarios/Challenges/Sokoban/_foresight/solution.sw"
entities:
- name: monolith
display:
char: '@'
attr: gold
description:
- Pushable rock
properties: [known, unwalkable, portable]
- name: crate
display:
attr: wood
char: '▪'
description:
- Pushable crate
properties: [known, portable, unwalkable]
- name: wall
display:
attr: barrier
char: '#'
description:
- Unmovable barrier
properties: [known, unwalkable]
known: [mountain, water, 3D printer, flower]
world:
dsl: |
{grass, water}
upperleft: [-21, 10]
offset: false
palette:
'B': [ice, erase, base]
'.': [grass, erase]
'*': [grass, flower]
'b': [grass, boat]
'3': [grass, 3D printer]
'@': [grass, monolith]
'c': [grass, crate]
'A': [grass, wall]
'w': [dirt, water]
'x': [stone, erase]
'z': [dirt, erase]
map: |
..................3...A.
.................AAAA.A*
.AAAAAAAAAAAAAAAAA.A..AA
.A.................Acc..
.AA.AAAAAAAAAAAAAA.A..c.
..A.AA.AAAAAAAAAAA.AAA..
.@A.AA...........A.....A
..A.AA.AAAAAAAA.AA....AA
..A.AA.AzzzA.AA.A.......
..A.AA.Azzz..AA.A...xxx.
..A.AA.AA..A.AA.A...xBx.
..A.A.....AA.AA.AAA.xxx.
..A.AAAAA.AA.AA.A.......
..A.AAAAAAAA.AA.A.......
..A...........A.A.......
..A.AAAAAAAAAAA.A.......
..AAAAAAAAAAAAA.A.......
................A.......
.AAAAAAAAAAAAAA.A.......
.............bAAA.......