packages feed

swarm-0.7.0.0: data/scenarios/Testing/378-objectives.yaml

version: 1
name: Complete two objectives in succession.
description: |
  First, get some trees; then, use them to build a harvester.
objectives:
  - id: get_trees
    teaser: Get trees
    goal:
      - Your first goal is to get three trees.
    condition: |
      try {
        n <- as base {count "tree"};
        pure (n >= 3)
      } { pure false }
  - goal:
      - Nice job.  Now, build a harvester.
    condition: |
      try { as base {has "harvester"} } {pure false}
    prerequisite: get_trees
solution: |
  build {turn right; move; move; grab; move; grab; move; grab; turn back; move; move; move; move};
  wait 16;
  salvage;
  make "log"; make "log"; make "log";
  make "board"; make "board"; make "board";
  make "box";
  make "wooden gear"; make "wooden gear";
  make "harvester"
robots:
  - name: base
    display:
      char: 'Ω'
      attr: robot
    dir: north
    devices:
      - 3D printer
      - life support system
      - logger
      - toolkit
      - solar panel
      - workbench
      - clock
    inventory:
      - [10, treads]
      - [10, grabber]
      - [10, solar panel]
      - [0, harvester]
world:
  palette:
    'Ω': [grass, null, base]
    '.': [grass]
    'T': [grass, tree]
    '+': [stone, wall]
  upperleft: [-1, 1]
  map: |
    ++++++++++
    +Ω.TTTTTT+
    ++++++++++