2020-05-16 18:09:18 +02:00
# Sztuczna Inteligencja
**Temat projektu:** Inteligenta Śmieciarka
**Zespół:** Kacper Borkowski, Adam Borowski, Adam Osiowy
---
## 1. Ogólne działanie:
2021-04-02 22:47:20 +02:00
![gif ](../screenShots/gifProjektu.gif )
2020-05-16 18:09:18 +02:00
---
## 2. Struktura katalogów:
2021-04-02 22:47:20 +02:00
![katalogi ](../screenShots/strukturaKatalogu.png )
2020-05-16 18:09:18 +02:00
**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**:
2021-04-02 22:47:20 +02:00
**[game.py](../../src/game.py)** - plik zawierający całą funkcjonalność projektu:
2020-05-16 18:09:18 +02:00
- główna pętla programu,
- tworzenie planszy,
2021-04-02 22:47:20 +02:00
- tworzenie i usytuowanie obiektów z katalogu [modeli ](../../src/modele.py ),
2020-05-16 18:09:18 +02:00
- generowanie tekstowej interpretacji zebranej wiedzy
2021-04-02 22:47:20 +02:00
**[main.py](../../src/main.py)** - klasa odpowiedzialna za uruchomienie programu
2020-05-16 18:09:18 +02:00
2021-04-02 22:47:20 +02:00
**[modele.py](../../src/modele.py)** - zawiera klasy aplikacji
2020-05-16 18:09:18 +02:00
2021-04-02 22:47:20 +02:00
**[requirements.txt](../../requirements.txt)** - posiada biblioteki niezbędne do uruchomienia programu, które instalujemy za pomocą poniższego polecenia:
2020-05-16 18:09:18 +02:00
```
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ę)
2021-04-02 22:47:20 +02:00
![ruch śmieciarki ](../screenShots/randMove.png )
2020-05-16 18:09:18 +02:00
* domy generowane są losowo na mapie z pominięciem kolizji z innymi obiektami
2021-04-02 22:47:20 +02:00
![generowanie_domów ](../screenShots/wspolrzedneDomow.png )
2020-05-16 18:09:18 +02:00
* pozycja wysypiska, przeszkody (jeziorko) i kontenerów jest statyczna
2021-04-02 22:47:20 +02:00
![statyczna_pozycja ](../screenShots/statycznaPozycja.png )
2020-05-16 18:09:18 +02:00
* 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
2021-04-02 22:47:20 +02:00
![losowanie_śmieci ](../screenShots/wyborSmieci.png )
2020-05-16 18:09:18 +02:00
* śmieciarka zbiera śmieci po najechaniu na pozycję danego domu
* po każdym uruchomieniu programu tworzona jest struktura katalogów dla posegregowanych śmieci
2021-04-02 22:47:20 +02:00
![tworzenie_struktury ](../screenShots/tworzenieStrukturyKatalogow.png )
2020-05-16 18:09:18 +02:00
* śmieciarka sprawdza w każdym ruchu czy nie dojdzie do kolizji z innym obiektem lub nie wyjedzie poza planszę
2021-04-02 22:47:20 +02:00
![sprawdzanie_kolizcji ](../screenShots/sprawdzanieKolizji.png )
2020-05-16 18:09:18 +02:00
* po prawej stronie wypisywane są aktualne, najważniejsze informacje
2021-04-02 22:47:20 +02:00
![wiedza ](../screenShots/wiedzaPoPrawejStronie.png )
2020-05-16 18:09:18 +02:00
* każdy obiekt na planszy posiada atrybuty odpowiedzalne za
przechowywanie wiedzy o danym obiekcie np.: obiekt śmieciarka przechowuje informacje o odwiedzonych domach
2021-04-02 22:47:20 +02:00
![atrybuty ](../screenShots/atrybutySmieciarki.png )