# Sztuczna Inteligencja **Temat projektu:** Inteligenta Śmieciarka **Zespół:** Kacper Borkowski, Adam Borowski, Adam Osiowy --- ## 1. Ogólne działanie: ![gif](../screenShots/gifProjektu.gif) --- ## 2. Struktura katalogów: ![katalogi](../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](../../src/game.py)** - plik zawierający całą funkcjonalność projektu: - główna pętla programu, - tworzenie planszy, - tworzenie i usytuowanie obiektów z katalogu [modeli](../../src/modele.py), - generowanie tekstowej interpretacji zebranej wiedzy **[main.py](../../src/main.py)** - klasa odpowiedzialna za uruchomienie programu **[modele.py](../../src/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](../screenShots/randMove.png) * domy generowane są losowo na mapie z pominięciem kolizji z innymi obiektami ![generowanie_domów](../screenShots/wspolrzedneDomow.png) * pozycja wysypiska, przeszkody (jeziorko) i kontenerów jest statyczna ![statyczna_pozycja](../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](../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](../screenShots/tworzenieStrukturyKatalogow.png) * śmieciarka sprawdza w każdym ruchu czy nie dojdzie do kolizji z innym obiektem lub nie wyjedzie poza planszę ![sprawdzanie_kolizcji](../screenShots/sprawdzanieKolizji.png) * po prawej stronie wypisywane są aktualne, najważniejsze informacje ![wiedza](../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](../screenShots/atrybutySmieciarki.png)