packages feed

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