AL-2020/Archiwum/environment.md

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 x
  • y - współrzędna y
  • isEmpty - określa czy pole jest puste, czy nie.

Klasa Product - reprezentuje poszczególne produkty znajdujące się w magazynie. Posiada pola:

  • name - nazwa produktu
  • type - rodzaj produktu
  • specs - krótki opis produktu
  • price - 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łu
  • isEmpty() - 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ółki
  • typOfProduct - rodzaj produktu, jaki znajduję się na półce