packages feed

swarm-0.6.0.0: data/scenarios/Testing/1256-halt-command.yaml

version: 1
name: Halting test
creative: false
description: Stop a robot using halt
objectives:
  - goal:
      - The robot next to you is holding a flower, but is stuck in an infinite loop.  Get the flower!
    condition: |
      as base {has "flower"}
solution: |
  mr <- meet;
  case mr (\_. return ()) (\r. halt r; turn west; move; salvage )
robots:
  - name: base
    dir: south
    display:
      char: Ω
      attr: robot
    devices:
      - compass
      - dictionary
      - grabber
      - toolkit
      - logger
      - tank treads
      - antenna
      - ADT calculator
      - halting oracle
  - name: infinitebot
    dir: north
    display:
      invisible: false
    devices:
      - strange loop
      - dictionary
      - treads
    inventory:
      - [1, flower]
    program: |
      def forever = \c. c ; forever c end;
      forever ( turn right )
world:
  palette:
    'Ω': [grass, null, base]
    '^': [grass, null, infinitebot]
    '.': [grass]
  upperleft: [0, 0]
  map: |
    .........
    .........
    .........
    ...^Ω....
    .........
    .........
    .........