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`{=entity} 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`{=entity} 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.......