-
This commit is contained in:
parent
e16cc78560
commit
a1a7d4faf4
66
Readme.md
66
Readme.md
@ -1,51 +1,25 @@
|
|||||||
#### Język i biblioteki - opis uruchomienia
|
#### Język, biblioteki, moduły
|
||||||
Projekt piszemy w języku Python 3.
|
Projekt piszemy w języku Python 3. Graficzna reprezentacja jest stworzona przy użyciu biblioteki Pygame. Oprócz tego zostały również użyte moduły: queue, collections, oraz itertools i enum.
|
||||||
Graficzna reprezentacja jest stworzona przy użyciu biblioteki
|
|
||||||
Pygame. Oprócz tego zostały również użyte moduły:
|
|
||||||
queue, collections,
|
|
||||||
oraz itertools i enum.
|
|
||||||
|
|
||||||
|
|
||||||
#### Środowisko agenta
|
#### Środowisko agenta
|
||||||
|
Środowiskiem agenta jest krata o wymiarze 20 na 20. Reprezentowana jest ona przez 2-wymiarową listę składającą się z obiektów klasy Tile, oraz Pack.
|
||||||
![Przykładowe środowisko agenta](srodowisko_agenta.png)
|
|
||||||
|
|
||||||
Środowiskiem agenta jest krata o wymiarze x na y
|
|
||||||
w Pythonie reprezentowana jest przez 2-wymiarową listę
|
|
||||||
składającą się z obiektów klasy Tile, oraz Pack. \
|
|
||||||
|
|
||||||
##### Generowanie mapy
|
##### Generowanie mapy
|
||||||
Generowanie mapy w ramach której będzie działać agent
|
Generowanie mapy w ramach której będzie działać agent odbywa się przy pomocy znacznie zmodyfikowanego algorytmu Depth First Search,
|
||||||
odbywa się przy pomocy znacznie zmodyfikowanego algorytmu
|
z nałożonym ograniczeniem ilości regałów które mogą być wygenerowane na mapie.
|
||||||
Depth First Search, z nałożonym ograniczeniem ilości
|
\ Na obrazku poniżej pokazane jest przykładowe środowisko agenta.
|
||||||
regałów które mogą być wygenerowane na mapie.
|
![Przykladowe Srodowisko](srodowisko_agenta.png)
|
||||||
|
#### Obiekty
|
||||||
**Obiekt Tile** reprezentuje pole na kracie, np regał, lub podłogę.
|
Obiekt Tile reprezentuje pole na kracie - regał,
|
||||||
Przechowuje on także pozycję pola na kracie
|
lub podłogę. Przechowuje on także pozycję pola na kracie.
|
||||||
|
Obiekt Pack reprezentuje paczkę.
|
||||||
**Obiekt Pack** to paczka, zawiera on informacje o kategorii paczki,
|
Zawiera on informacje o tym na jakim polu leży paczka, jej kategorię a także status.
|
||||||
oraz o tym na jakim polu leży, a także jej status.
|
|
||||||
Status może przyjąć wartość LOOSE(paczka leży na podłodze), \
|
Status może przyjąć wartość LOOSE(paczka leży na podłodze), \
|
||||||
STORED(paczka jest na właściwym regale we właściwym miejscu magazynu), albo STORED_BAD_LOCATION(paczka jest na regale, ale w złej lokalizacji)
|
STORED(paczka jest na właściwym regale we właściwym miejscu magazynu), albo STORED_BAD_LOCATION(paczka jest na regale, ale w złej lokalizacji).
|
||||||
|
|
||||||
#### Regał
|
#### Regał
|
||||||
Reprezentowany przez obiekt Tile posiadający kategorię 'rack'
|
Reprezentowany jest przez obiekt Tile posiadający kategorię 'rack' Kategoria zawiera informacje czy pole danej kategorii może przechowywać paczkę, czy agent może po nim przejść(po podłodze może, po regale nie). Regał posiada również informacje jaka gabarytowo paczka może być na nim przechowywana.
|
||||||
Kategoria zawiera informacje czy pole danej kategorii może przechowywać paczkę,
|
|
||||||
czy agent może po nim przejść(po podłodze może, po regale nie).
|
|
||||||
Regał posiada również informacje jaka gabarytowo paczka
|
|
||||||
może być na nim przechowywana.
|
|
||||||
|
|
||||||
### Agent
|
### Agent
|
||||||
Agent jest reprezentowany przez czarny okrąg na planszy.
|
Agent jest reprezentowany przez czarny okrąg na planszy. W kodzie programu jest on reprezentowany przez obiekt klasy Agent, obecnie posiada on informacje o swoich współrzędnych oraz o tym, czy właśnie transportuje paczkę czy nie. Przy początku symulacji agent zostaje umieszczony w losowym miejscu, które nie jest regałem, ani nie leży na nim paczka. Możliwe ruchy do wykonania przez agenta na planszy to:
|
||||||
W kodzie programu jest on reprezentowany przez obiekt klasy Agent,
|
• ruch 1 pole w prawo
|
||||||
obecnie posiada on informacje o swoich współrzędnych, oraz czy właśnie transportuje paczkę czy nie.
|
• ruch 1 pole w lewo
|
||||||
Przy początku symulacji agent zostaje umieszczony w losowym
|
• ruch 1 pole do góry
|
||||||
miejscu, które nie jest regałem, ani nie leży na nim paczka.
|
• ruch 1 pole w dół
|
||||||
Możliwe ruchy do wykonania przez agenta na planszy to:
|
Agent może wykonywać tylko 1 z tych ruchów w jednym kroku, czyli nie jest w stanie poruszyć się jednocześnie w prawo i do góry (na skos).
|
||||||
- ruch 1 pole w prawo
|
|
||||||
- ruch 1 pole w lewo
|
|
||||||
- ruch 1 pole do góry
|
|
||||||
- ruch 1 pole w dół \
|
|
||||||
Agent może wykonywać tylko 1 z tych ruchów w jednym kroku,
|
|
||||||
czyli nie jest w stanie poruszyć się jednocześnie w
|
|
||||||
prawo i do góry.
|
|
Loading…
Reference in New Issue
Block a user