2.0 KiB
Raport 1
Środowisko
Środowiskiem agenta jest plansza (mapa magazynu), która jest podzielona na pola. Każde pole może być puste lub zajęte.
Agent może się poruszać tylko po polach pustych. Na polach zajętych znajdują się regały, na których przechowywane jest towar. Regały są zaznaczone za pomocą funkcji pokolorujRegaly()
Plansza ma wymiar 11 kolumn indeksowanych od 0 do 11 i 7 wierszy indeksowanych od 0 do 6. Pola mogą być ponumerowane dzięki funkcji ponumerujPola()
.
Agent
Agent jest reprezentowany za pomocą klasy Agent
.
Agent jest wyświetlany na planszy przy użyciu ikony wózka widłowego (umiescAgenta()
).
Agent porusza się po dzięki metodzie przemieszczenie()
, która najpierw usuwa agenta z planszy (funkcja: usunAgenta()
) nasępnie przesuwa go metodami right()
, left()
,
up()
, down()
i umieszcza go na nowej pozycji (funkcja: umiescAgenta()
). Droga agenta jest ustala funkcją droga()
.Przykład drogi agenta https://youtu.be/RLe2ZN5SFLo.
Reprezentacja wiedzy
Klasa Field
- reprezentuje pola w magazynie. Posiada pola:
x
- współrzędna xy
- współrzędna yisEmpty
- określa czy pole jest puste, czy nie.
Klasa Product
- reprezentuje poszczególne produkty znajdujące się w magazynie. Posiada pola:
name
- nazwa produktutype
- rodzaj produktuspecs
- krótki opis produktuprice
- cena produktu
Klasa Rack
- reprezentuje regały, które znajdują się w magazynie. Na jednym regale mogą znajdować się pordukty tego samego typu. Posiada pola:
noOfShelf
- liczbę półek danego regału
Metody:
addShelf()
- dodającą półkę do regałuisEmpty()
- zwracającą true, jeśli regał nie ma żadnych półek lub false w przeciwnym wypadku
Klasa Shelf
- reprezentuje półkę, w regale. Na jednej półce mogą znajdować się produkty o tej samej specyfikacji. Posiada pola:
number
- numer półkitypOfProduct
- rodzaj produktu, jaki znajduję się na półce