Użytkownik ma możliwość zatrzymania wszystkich akcji w celu przekazania poleceń. Jest to także zabezpieczenie na wypadek gdyby agent wyrwał się spod kontroli (zabezpieczenia w przypadku rozwoju projektu).
IV. Model fizyczny systemu - implementacja.
W tym rozdziale zostało ujęte rozwiązanie projektu na poziomie modelu fizycznego. Opisana jest implementacja, klasy, metody i atrybuty'. Poruszona jest również kwestia języka i środowiska pracy.
IV.I. Ogólne informacje o implementacji i obiektach klas.
Agent jest obiektem klasy "Agent", który' posiada zbiór parametrów i metod potrzebnych mu do wykonywania wyżej wymienionych czynności, tj. poruszanie się, przechowywanie i aktualizow anie mapy odwiedzonego obszaru, korzystanie z pola widzenia, opracow ywanie drogi do celu, zużywanie i uzupełnianie zapasu energii, wyświetlanie graficzne na planszy.
Plansza jest reprezentowana przez obiekt klasy "Plain" zawierający tablicową strukturę danych, przechowującą wskaźniki do obiektów klasy ‘Tile’ stanow iących pola, po których agent porusza się. Klasa "Plain" zawiera metody pozwalające na umieszczanie na planszy obiektów', oraz ich usuwanie (takie obiekty to np. mury i przeszkody, źródła energii), jak również wyświetlanie jej na ekranie urządzenia, z uwzględnieniem tzw. fog of war pokazującego, jaki obszar jest widoczny dla agenta, oraz jaki 'zapamiętał" na swojej mapie. Przeszkody na planszy dzięki odpow iedniej metodzie mogą generować się losowo, przy czym gwarantowany jest dostęp agenta do przynajmniej jednego niewyczerpywanego źródła energii.
Źródła energii oraz przeszkody również funkcjonują jako obiekty' osobnych klas. Klasa "Wall" zawiera parametr blokujący agenta, klasa ‘Energy’ - przechowuje poziom energii w źródle.
Diagram ilustrujący klasy i ich dziedziczenie znajduje się w pliku UML_new2.png. Klasy i funkcje będą opisane poniżej.
Program napisany jest w języku C++, z wykorzystaniem biblioteki graficznej “Allegro”, oferującej możliwość tworzenia aplikacji 2D dla środow isk Windows i Linux, w środowisku programistycznym Microsoft Yisual Studio 2010.
IV.II. Dokładny opis fizyczny kodu.
W tym podrozdziale opisane będą w szczegółach klasy, ich metody i atrybuty. IV.II.I. Skład programu w plikach.
Program składa się z następujących plików:
Agent.h Agent.cpp Energy.h Energy, cpp
Mobilny Agent 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
5