shelf rework, rapor 1 added

This commit is contained in:
shaaqu 2020-04-07 23:16:33 +02:00
parent 12c9b8da20
commit 26a969ba23
3 changed files with 52 additions and 5 deletions

View File

@ -1,2 +1,3 @@
Repozytorium projektu z sztucznej inteligencji, temat "Inteligentny wózek widłowy".
Repozytorium projektu z sztucznej inteligencji, temat "Inteligentny wózek widłowy". <br>
Zespół: 444420, 444428, 444430

44
environment.md Normal file
View File

@ -0,0 +1,44 @@
#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()`.
### 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.
<br>
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
<br>
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
<br>
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

View File

@ -42,16 +42,17 @@ class Field {
}
class Product {
constructor(name, type, farcing, price) {
constructor(name, type, specs, price) {
this.name = name;
this.type = type;
this.farcing = farcing;
this.specs = specs;
this.price = price
}
}
class Rack{
constructor(noOfShelf, typOfProduct) {
constructor(noOfShelf) {
this.noOfShelf = noOfShelf;
}
@ -69,8 +70,9 @@ class Rack{
}
class Shelf {
constructor(number) {
constructor(number, typeOfProduct) {
this.number = number;
this.typeOfProduct = typeOfProduct;
}
}