Inundando terrenos…

El código del ejemplo ya está terminado. Es posible lanzarlo con un comando parecido al siguiente:
java jade.Boot -gui creador:agents.CreatorAgent.class

Aunque resulta mucho más sencillo utilizarlo a través de un plugin como EJADE para Eclipse. Éste plugin en concreto permite ejecutar la plataforma JADE y lanzar agentes desde el mismo IDE, y a golpe de ratón. A la hora de depurar ahorra mucho tiempo.

El agente que se encarga de crear y lanzar a todos los demás es: CreatorAgent. Dicho agente crea primero un agente entorno, y luego cada 100 ms crea un agente agua. Estos agentes agua se mueven por una rejilla hexagonal que representa al terreno, y que mantiene el agente entorno, como la de la imagen:

Los agentes agua preguntan al agente entorno por el potencial o nivel del terreno de las casillas adyacentes, y sobre esa información deciden si moverse o inundar la casilla en la que se encuentran (en caso de no haber ninguna casilla adyacente de menor potencial). Una vez que un agente agua inunda una casilla deja de moverse, y el nivel de esa casilla aumenta.

Puede parecer poco realista el comportamiento del agua, pero el resultado global se asemeja a la realidad lo suficiente para poder realizar una simulación respecto a ello. El tiempo entre cada agente agua y la cantidad de líquido que representa cada uno está en función de qué ritmo de entrada de agua se quiera simular. De la misma manera cada casilla de la rejilla hexagonal puede representar más o menos terreno.

A continuación os dejo una prueba muy sencilla sobre una rejilla 3×3 (recordad que es hexagonal y no una cuadrícula). Cada matriz representa el estado de la rejilla (nivel de la casilla) después de que un agente agua haya inundado una casilla.

9 9 8
7 6 8
5 5 4

9 9 8
7 6 8
5 5 5

9 9 8
7 6 8
5 6 5

9 9 8
7 6 8
6 6 5

9 9 8
7 6 8
6 6 6

9 9 8
7 7 8
6 6 6

9 9 8
7 7 8
7 6 6

9 9 8
7 7 8
7 7 6

9 9 8
7 7 8
7 7 7

9 9 8
7 8 8
7 7 7

9 9 8
8 8 8
7 7 7

9 9 8
8 8 8
8 7 7

9 9 8
8 8 8
8 7 8

9 9 8
8 8 8
8 8 8

9 9 8
8 9 8
8 8 8

9 9 8
9 9 8
8 8 8

Comparte este post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • TwitThis
  • Meneame
  • BarraPunto
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Digg
  • email

Tags: , ,

Leave a Reply