DSZI_Survival/environment.md

3.2 KiB

Środowisko agenta

Skład zespołu: Marcin Kostrzewski, Mateusz Tylka, Michał Czekański, Jonathan Spaczyński
Wybrany temat: Inteligentny Survival (temat własny)
Wykorzystana technologia: Pygame

Koncepcja

  • Środowiskiem naszego agenta jest bezludna wyspa
  • Celem naszego agenta jest przetrwanie
  • Na wyspie znajdują się różnorodne elementy, które pomagają lub przeszkadzają przetrwać
  • Agent ma zasoby, które musi uzupełniać aby przeżyć, np. głód
  • Agent porusza się w środowisku 20x20

Struktura projektu

Plik przedstawiający strukturę katalogów oraz klas: structure.pdf

Główne klasy projektu

  • Run.py - plik, względem którego uruchamia się całe środowisko.
  • Game.py - klasa realizacyjna, w niej wywoływane są wszystkie inne główne obiekty, obsługuję główną pętlę aplikacji.
  • Screen.py - reprezentuje obszar okienka, które pojawia się po uruchomieniu, odpowiada za poprawną lokalizację mapy oraz interfejsu użytkownika.
  • Map.py - jest to mapa, po której porusza się agent, reprezentowana jest jako macierz o elementach terenu w pliku map.txt, renderuje teren oraz jednostki na swój obszar, potrafi też je usuwać.
  • TerrainTile.py - przedstawia element terenu, który jest jedną kratką na mapie 20x20.
  • UI.py - reprezentuje interfejs użytkownika i obsługuje go, posiada swoje pod elementy.
  • EventMenager.py - obsługuje zdarzenia występujące na ekranie, takie jak poruszanie się sprite'ów czy wyjście z gry.
  • Entity.py - przedstawia jednostki występujące na mapie, które w jakiś sposób zachodzą ze sobą w interakcje.
  • Player.py - tworzy agenta, którym na daną chwilę możemy się poruszać i zachodzić w interakcje z innymi jednostkami.
  • Statistics.py - reprezentuje zasoby agenta, które odpowiednio zwiększają się, lub zmniejszają po interakcji z jakimś elementem.

Reprezentacja wiedzy

Wiedzą w naszym projekcie są statystyki agenta, które mowią o tym w jakim stanie toczy się proces przetrwania.
Posiadamy również konsolę, która wypisuje wartości statystyk na ekranie.

Uruchomienie projektu