GIMNASIO - Entorno con agentes programado en Jade
-----------------------------------------
ADRIÁN NÚÑEZ MARCOS - 10/11/14

=========================================

AGENTES:
-----------------------------------------

-Adrian
-Erik
-Juan
-Tronista
-EquipoHalterofilia
-AgenteMemeTodeto

COMPORTAMIENTO:
-----------------------------------------

-Adrian: Se despierta a los 2 segundos mediante un WakerBehaviour (WB). Luego ejecuta el behaviour RayarColegas. Este a su vez ejecuta otros 3 behaviours. Los 2 primeros son de la clase Behaviour y están definidos dentro de la clase RayarColegas. Lo que hacen es enviar mensajes a los agentes Erik y Juan (entre los mensajes se realizan esperas mediante block). El tercer behaviour es un WB de nuevo, que envía un mensaje a Erik, Juan, Tronista y AgenteMemeTodeto para que paren su ejecución. Implementa los métodos setup y takeDown.

-Erik: Tiene un WB de 2 segundos al inicio. Cuando entra en el WB se bloquea esperando a los mensajes de Adrian. Por cada mensaje escribe el mensaje como si lo hubiera dicho Adrian y envía una respuesta propia. El mensaje final es el de parada. Implementa los métodos setup y takeDown.

-Juan: Su comportamiento es idéntico al de Erik. Implementa los métodos setup y takeDown.

-Tronista: Añade en el setup el behaviour TonteriasDeTronistas, que es un TickerBehaviour (TB). Durante cada tick mira a ver si le ha llegado un mensaje con el mensaje de parada "Nos vamos" que le tiene que lanzar Adrian. Si no le llega escribe uno de los 5 mensajes disponibles aleatoriamente. Implementa los métodos setup y takeDown.

-EquipoHalterofilia: Tras un WB de 5 segundos añade el behaviour EjercicioHalterofilia, que es un SequentialBehaviour (SB). Este behaviour añade el sub-behaviour Repeticiones, que es de tipo Behaviour (implementa en realidad un 4-step Behaviour, el step depende del número introducido: 15, 12, 10 y 8).

-AgenteMemeTodeto: Tras un WB de 2 segundos añade el behaviour Metersedeto, que es un CyclicBehaviour (CB). En el action espera al comienzo un mensaje, el funcionamiento es similar al del Tronista. Luego escribe uno de los 4 mensajes aleatoriamente y se bloquea durante 10 segundos. Implementa los métodos onStart y onEnd.

EJECUCIÓN:
-----------------------------------------

Para ejecutar ir a Run>Run Configurations. En la pestaña Main añadir en Main class:

jade.Boot

En la pestaña Arguments, en el recuadro de Program Argumentos, añadir:

-gui Adrian:Gimnasio.Adrian;Erik:Gimnasio.Erik;Juan:Gimnasio.Juan;Tronista:Gimnasio.Tronista;EquipoHalterofilia:Gimnasio.EquipoHalterofilia;AgenteMemeTodeto:Gimnasio.AgenteMemeTodeto


=========================================

ADRIÁN NÚÑEZ MARCOS - 10/11/14
