packages feed

swarm-0.3.0.0: data/scenarios/Testing/920-meet.yaml

version: 1
name: Test meet and meetAll commands
description: |
  Make sure meet prefers a robot on the same cell, and test meetAll
  by giving everyone a boat.
objectives:
  - condition: |
      r0 <- robotNamed "other0";
      b0 <- as r0 { has "boat" };
      teleport self (0,0);
      b1 <- meetAll (\b. \r. b0 <- as r {has "boat"}; return (b && b0)) true;
      n2 <- as r0 { count "boat" };
      return (b0 && b1 && (n2 == 2))
solution: |
  mr0 <- meet;
  case mr0 (\_. return ()) (\r0. give r0 "boat");
  meetAll (\_. \r. give r "boat") ()
robots:
  - name: base
    loc: [0,0]
    dir: [1,0]
    devices:
      - logger
      - antenna
      - ADT calculator
      - grabber
    inventory:
      - [7, boat]
  - name: other0
    loc: [0,0]
    dir: [1,0]
  - name: other
    dir: [1,0]
world:
  default: [blank]
  palette:
    '.': [grass]
    'Ω': [grass, null]
    'o': [grass, null, other]
    '┌': [stone, upper left corner]
    '┐': [stone, upper right corner]
    '└': [stone, lower left corner]
    '┘': [stone, lower right corner]
    '─': [stone, horizontal wall]
    '│': [stone, vertical wall]
  upperleft: [-2, 2]
  map: |
    ┌───┐
    │.o.│
    │oΩo│
    │.o.│
    └───┘