packages feed

swarm-0.4: 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: [0,-1]
    display:
      char: Ω
      attr: robot
    devices:
      - compass
      - dictionary
      - grabber
      - toolkit
      - logger
      - tank treads
      - antenna
      - ADT calculator
      - halting oracle
  - name: infinitebot
    dir: [0,1]
    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: |
   .........
   .........
   .........
   ...^Ω....
   .........
   .........
   .........