W programie została zadeklarowana dodatkowa klasa dla opisu planszy. Jest ona nazwana Plain.h. Załączone są do niej: WorldObject.h, Energy.h, Tile.h, oraz biblioteki allegro.h oraz vector.
Są w niej zdefiniowane dane prywatne:
- wysokość i szerokość kafla jako zmienne całkowite nieujemne:
unsigned int tile_w, tile_h;
- tablica typu wektor:
std::vector<std::vector<Tile*>> world;
- metoda inicjalizacji planszy:
void InitializeO;
- metoda renderowania mgły:
void RenderFog(BITMAP* sprite, unsigned int row, unsigned int column, float alpha); Metoda ta tworzy' zasłonę na odpowiednim miejscu na planszy', kiedy agent odkrywa mapę mgła jest usuwana, zależnie od tego czy jest to pole widziane w tej chwili przez agenta, czy kiedyś zobaczone, mgła jest silniejsza, lub słabsza.
Jako dane publiczne zadeklarowano:
- konstruktor i destruktor:
~Plain(void);
Plain(unsigned int rows = 26, unsigned int columns = 26);
Destruktor jest opcjonalny. Konstruktor jako dane wejściowe otrzymuje liczbę wierszy i kolumn, następnie tworzy wskaźniki na liczbę wierszy, kolumn, wysokości kafla i jego szerokości i uruchamia metodę inicjalizacji.
- metody:
- dodania obiektu:
void AddObject(WorldObject* obj, unsigned int row, unsigned int column); Dodaje obiekt na planszy dla odpow iedniej wartości rzędu i kolumny. Jako dane wejściowe otrzymuje wartości zmiennych w iersza i kolumny, oraz obiekt klasy WorldObject.
- usunięcia obiektu:
void RemoveObject(unsigned int row, unsigned int column);
Jako dane wejściowe otrzymuje wiersz oraz kolumnę z którego to miejsca ma usunąć obiekt. Wartość tego obiektu jest ustawiana na „0”.
- metoda ta wypełnia całą planszę odpowiednimi teksturami:
void FilKBITMAP* texture);
- obudowania mapy tak, by agent nie wyszedł poza rozmiar planszy.
void EnclosefBITMAP* texture);
Metoda ta na planszy tworzy ściany, agent będzie miał możliwość ruchu na planszy i nie wyjdzie poza nią, ponieważ nie przechodzi przez ściany.
- metoda ta pomocna była przy testowaniu programu, tworzyła na planszy konkretne ściany.
void SpawnTestWallsfBITMAP* texture);
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
7