packages feed

swarm-0.5.0.0: data/scenarios/Testing/1341-command-count.yaml

version: 1
name: Count commands
creative: true
description: |
  Count commands and demonstrate various "duty cycles"
  with system robots. The four robots should have duty
  cycles of 100%, 50%, 33%, and 25% based on the number
  of ticks that they `wait`.
objectives:
  - goal:
    - |
      `grab` the "tree".
    condition: |
      as base {has "tree"}
solution: |
    move;
    move;
    wait 10;
    x <- harvest;
    if (x == "flower") {
      turn right;
      move;
      grab;
    } {
      return "";
    };
robots:
  - name: base
    dir: [1, 0]
    devices:
      - treads
      - grabber
      - harvester
      - logger
      - comparator
      - hourglass
      - branch predictor
  - name: idler1
    dir: [1, 0]
    system: true
    devices:
      - dictionary
      - strange loop
      - hourglass
    program: |
      def go =
          wait 1;
          go;
          end;
      go;
  - name: idler2
    dir: [1, 0]
    system: true
    devices:
      - dictionary
      - strange loop
      - hourglass
    program: |
      def go =
          wait 2;
          go;
          end;
      go;
  - name: idler3
    dir: [1, 0]
    system: true
    devices:
      - dictionary
      - strange loop
      - hourglass
    program: |
      def go =
          wait 3;
          go;
          end;
      go;
  - name: idler4
    dir: [1, 0]
    system: true
    devices:
      - dictionary
      - strange loop
      - hourglass
    program: |
      def go =
          wait 4;
          go;
          end;
      go;
known: [flower, tree]
world:
  default: [blank]
  palette:
    '.': [grass]
    'f': [grass, flower]
    'T': [grass, tree]
    'B': [grass, null, base]
    '1': [grass, null, idler1]
    '2': [grass, null, idler2]
    '3': [grass, null, idler3]
    '4': [grass, null, idler4]
  upperleft: [-1, 1]
  map: |
    ........1
    .B.fff..2
    ...T....3
    ........4