forked from s444420/AL-2020
shelf rework, rapor 1 added
This commit is contained in:
parent
12c9b8da20
commit
26a969ba23
@ -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
44
environment.md
Normal 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
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user