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.│
└───┘