Do pliku w którym zapisane jest ciało naszego programu zostały załączone biblioteki oraz pliki: stdafx.h . allegro.h, Agent.h, Plain.h, Energy.h, WorldObject.h, MyGUI.h, stdio.h, stdarg.h. string. Następnie zapisane są deklaracje wszystkich funkcji oraz zmiennych globalnych. Kolejna zapisana funkcja to funkcja main która jest punktem wejściowym programu. Następuje w niej inicjalizacja biblioteki allegro, kilku jej subsystemów oraz ustawienie parametrów z nią związanych. Następnie tworzony jest świat, agenci oraz generowana jest zawartość świata w jakim agenci będą działać. Wchodzimy teraz do głównej pętli while(RUNNING) która działa do momentu zakończenia programu. Pętla ta odpowiada za wywoływanie w odpowiednim czasie funkcji odpowiedzialnych za pobieranie wejścia użytkownika (czyli klawiszy z klaw iatury), funkcji sterujących agentami oraz funkcji rysującej obraz na ekran. Poniżej omawianej pętli while znajdują się definicje funkcji wykorzystywanych w jej ciele. Jest to funkcja Input() odpow iedzialna za pobieranie wejścia od użytkownika oraz zarządzająca zachowaniami agentów1. Następnie funkcja ParseCommands() która przetwarza wpisywane przez użytkownika komendy. Funkcja LoadResources() w czytująca z dysku zewnętrzne zasoby. Funkcja CreateGUI() tworząca interfejs użytkownika. RenderGUI() ry sująca interfejs użytkownika oraz RenderToScreen() rysująca wszystko na ekran.
V. Opis zadań realizowanych przez agentów.
W tym rozdziale zostaną umieszczone opisy poszczególnych zadań które może wykonywać agent, także z polecenia użytkownika. Agent ma zadania opcjonalne, jednak gdy użytkownik zada mu kilka zadań, agent układa je w kolejce i wykonuje od pierw szego do ostatniego. Jeśli zadań będzie za dużo agent może pomylić ich kolejność.
V.I. Zadania wykonywane po rozpoczęciu symulacji.
Po starcie symulacji agent szuka ścieżki do stałej energii. Ponieważ do jednej energii stałej zawsze istnieje ścieżka, agent może to zadanie wykonać bez przeszkód. Po odnalezieniu tej ścieżki, jeśli nie ma innych zadań wybiera losowo punkty, szuka do nich ścieżki i przemieszcza się tam. Dzieje się tak aż do czasu wyznaczenia mu zadania przez użytkownika.
V. II. Zadanie przeszukiwania mapy - tryb scout.
Zadanie przeszukiwania mapy, to jedno z zadań które może wyznaczyć agentowi użytkow nik poprzez linie poleceń. Kiedy agent otrzymuje to zadanie stara się odkryć jak największy obszar planszy i zapisuje go do swojej prywatnej mapy.
V.III. Przemieszczanie się, poszukiwanie ścieżki, kontrola poziomu energii.
Agent nieustannie bada swój poziom energii, jeśli jest on za mały lub nie wystarczający do wykonania zadania wtedy priorytetem dla niego staje się uzupełnienie energii. Energię agent traci podczas bezruchu, jak i w czasie ruchu. Kiedy ma się przemieścić oblicza jaka energia będzie mu potrzebna do wykonania ruchu i uwzględnia konieczność podążenia do źródła energii. Kiedy nie ma
Mobilny Agenl Kognitywny Dokumentacja Projektu. ver. 0.3 09.02.11
Kabaciński Krzysztof. Kwieciński Paweł. Kramm Krzesimir, Sosiński Sławomir. Osowski Jacek. Morańska Anna red. Anna Morańska
18