SZI-Smieciarka/environment.md

68 lines
2.6 KiB
Markdown

# Sztuczna Inteligencja
**Temat projektu:** Inteligenta Śmieciarka
**Zespół:** Kacper Borkowski, Adam Borowski, Adam Osiowy
---
## 1. Ogólne działanie:
![gif](resources/screenShots/gifProjektu.gif)
---
## 2. Struktura katalogów:
![katalogi](resources/screenShots/strukturaKatalogu.png)
**Resources**:
- _plansza_ - folder zawierający zdjęcia niezbędne do generowania planszy - domy, jezioro, pojemniki, wysypisko,
- _śmieci_ - zawiera podfoldery z klaysifkacją zdjęć śmieci,
- _śmieci w kontenerach_ - folder, który będzie zawierał posegregowane już smieci
**Pliki**:
**[game.py](game.py)** - plik zawierający całą funkcjonalność projektu:
- główna pętla programu,
- tworzenie planszy,
- tworzenie i usytuowanie obiektów z katalogu [modeli](modele.py),
- generowanie tekstowej interpretacji zebranej wiedzy
**[main.py](main.py)** - klasa odpowiedzialna za uruchomienie programu
**[modele.py](modele.py)** - zawiera klasy aplikacji
**[requirements.txt](requirements.txt)** - posiada biblioteki niezbędne do uruchomienia programu, które instalujemy za pomocą poniższego polecenia:
```
pip install -r requirements.txt
```
---
## 3. Opis funkcjonalności programu:
* śmieciarka porusza się w losowy sposób po planszy 15 x 15 (koloruje na niebiesko przebytą trasę)
![ruch śmieciarki](resources/screenShots/randMove.png)
* domy generowane są losowo na mapie z pominięciem kolizji z innymi obiektami
![generowanie_domów](resources/screenShots/wspolrzedneDomow.png)
* pozycja wysypiska, przeszkody (jeziorko) i kontenerów jest statyczna
![statyczna_pozycja](resources/screenShots/statycznaPozycja.png)
* w kontenerach przechowywane będą posegregowane, odpowiednio według kategorii, zdjęcia śmieci
* zdjęcia śmieci będą przydzielane w sposób losowy do każdego z domów na planszy
![losowanie_śmieci](resources/screenShots/wyborSmieci.png)
* śmieciarka zbiera śmieci po najechaniu na pozycję danego domu
* po każdym uruchomieniu programu tworzona jest struktura katalogów dla posegregowanych śmieci
![tworzenie_struktury](resources/screenShots/tworzenieStrukturyKatalogow.png)
* śmieciarka sprawdza w każdym ruchu czy nie dojdzie do kolizji z innym obiektem lub nie wyjedzie poza planszę
![sprawdzanie_kolizcji](resources/screenShots/sprawdzanieKolizji.png)
* po prawej stronie wypisywane są aktualne, najważniejsze informacje
![wiedza](resources/screenShots/wiedzaPoPrawejStronie.png)
* każdy obiekt na planszy posiada atrybuty odpowiedzalne za
przechowywanie wiedzy o danym obiekcie np.: obiekt śmieciarka przechowuje informacje o odwiedzonych domach
![atrybuty](resources/screenShots/atrybutySmieciarki.png)