# data[].attributes.body
- Vamos a definir áreas privadas para el inicio de cada robot.

      areaL1  : AreaP(9,12,9,12)
      areaL2  : AreaP(9,14,9,14)
      areaD3  : AreaP(9,16,9,16)
      areaD4  : AreaP(9,18,9,18)
      areaCoord: AreaP(1,1,1,1)

- Un área Parcialmente Compartida para los limpiadores y decoradores

      areaComun:  AreaPC(10,10,30,40)

# data[].attributes.body
En este caso, tenemos 3 roles claramente definidos:
- Robot coordinador (1 robot)
- Robot limpiador (2 robots)
- Robot decorador (2 robots)
De los cuáles vamos a tener las cantidades de instancias que se indica entre paréntesis.

# data[].attributes.body
Primera etapa
Repetir 10 veces:

1. Dar turno a un limpiador (puede ser cíclico o aleatorio, vamos a implementar la primera opción)

2. Esperar que el robot termine su turno y nos avise que salió del área común.

Recibir las cantidades de los limpiadores.
Informar el total.

Segunda etapa
Repetir 10 veces:

1. Dar turno a un decorador (puede ser cíclico o aleatorio, vamos a implementar la segunda opción)

2. Esperar que el robot termine su turno y nos avise que salió del área común.

Informar qué robot fue el último en terminar la decoración.

# data[].attributes.body
Repetir 5 veces:

1. Esperar un turno para acceder al área común.

2. Elegir de manera aleatoria una esquina.

3. Acceder a dicha esquina.

4. Recolectar todos los papeles de la esquina y contarlos.

5. Salir del área común.

6. Notificar al coordinador que se salió del área.

Enviar la cantidad total de papeles recolectados al coordinador.

# data[].attributes.body
Mientras no nos avisen que terminamos:

1. Esperar un turno para acceder al área común.

2. Elegir de manera aleatoria una esquina de igual avenida y calle.

3. Acceder a dicha esquina.

4. Depositar, si puede, una flor de su bolsa.

5. Salir del área común.

6. Notificar al coordinador que se salió del área.

# data[].attributes.body
Les dejamos la solución al problema, y estamos atentos a cualquier duda! :)
- Revisen las alternativas de turnos (cíclico / aleatorio), y cómo se comportan los robots con ellas.
- Revisen las instrucciones que pueden adelantarse y dejar fuera del bloque comprendido entre el envío y recepción de mensajes (eso hará mas eficiente la solución)
- Planteen otras alternativas de solución si ven otra forma de resolverlo!