packages feed

swarm-0.4: data/scenarios/Challenges/maypole.yaml

version: 1
name: Maypole
author: Karl Ostmo
description: |
  Circle the maypole
creative: false
seed: 0
attrs:
  - name: maypole0
    fg: "#ff0000"
  - name: maypole1
    fg: "#ffff00"
  - name: maypole2
    fg: "#00ffff"
  - name: maypole3
    fg: "#00ff00"
objectives:
  - id: circle_maypole
    teaser: Around you go!
    goal:
      - |
        Go around the maypole several times counter-clockwise.
    condition: |
      monitor <- robotnamed "monitor";
      as monitor {has "dizzy"};
robots:
  - name: base
    dir: [0, 1]
    devices:
      - branch predictor
      - treads
      - antenna
      - calculator
      - clock
      - comparator
      - workbench
      - grabber
      - dictionary
      - lambda
      - logger
      - welder
      - hearing aid
      - scanner
      - strange loop
  - name: monitor
    system: true
    dir: [0, 1]
    display:
      invisible: true
    inventory:
      - [1, bitcoin]
      - [1, maypole 0]
      - [1, maypole 1]
      - [1, maypole 2]
      - [1, maypole 3]
    program: |
      run "scenarios/Challenges/_maypole/monitor.sw"
solution: |
   run "scenarios/Challenges/_maypole/solution.sw"
entities:
  - name: dizzy
    display:
      char: '@'
    description:
      - A disorienting vestibular affliction
    properties: [portable]
  - name: maypole
    display:
      char: 'M'
    description:
      - A tall, colorful pole.
    properties: [known, unwalkable]
  - name: maypole 0
    display:
      char: 'M'
      attr: maypole0
    description:
      - A tall, colorful pole.
    properties: [known, unwalkable]
  - name: maypole 1
    display:
      char: 'M'
      attr: maypole1
    description:
      - A tall, colorful pole.
    properties: [known, unwalkable]
  - name: maypole 2
    display:
      char: 'M'
      attr: maypole2
    description:
      - A tall, colorful pole.
    properties: [known, unwalkable]
  - name: maypole 3
    display:
      char: 'M'
      attr: maypole3
    description:
      - A tall, colorful pole.
    properties: [known, unwalkable]
known: [bitcoin]
world:
  dsl: |
    {grass}
  upperleft: [0, 0]
  offset: false
  palette:
    'B': [grass, null, base]
    '.': [grass]
    'M': [grass, maypole, monitor]
  map: |
    ................
    ................
    ................
    .......M........
    ................
    .........B......
    ................
    ................