Update home authored by Svoboda, Jan's avatar Svoboda, Jan
......@@ -60,6 +60,10 @@ Níže se pokusím nastínit jaké **klíčové** třídy se mi starají o běh
Už názvy balíků naznačují, že jsem se snažil navrhnout program dle Model-View-Controller, což se né-vždy povedlo přesně oddělit. Například můj controller má docela přesah do modelu, každá třída itemu a Entity načítá svoje obrázky (Takže jsem měl problémy s vytvářením testů bez grafiky, o tom jinde). Myslím si ale, že jsem převážně oddělil třídy do správných balíků a až na výjimky každá třída dělá jednu věc pořádně.
(UML diagram BEZ Relací tříd, pouze dědičnost)
![obrazek](uploads/ca1ebbda19dec7792c65dbe3ae448131/obrazek.png)
**Flow programu:**
* Po zapnutí main třídy se inicializuje WindowView, což je třída spravující okno main menu. Tato třída také inicializuje další funkční třídy, jako GraphicsUpdateThread, MainController a nebo třeba List, který drží seznam entit, které figurují na mapě.
......@@ -70,6 +74,10 @@ Už názvy balíků naznačují, že jsem se snažil navrhnout program dle Model
* Pokud otevřu inventář stisknutím "I", MainController pošle List z hráčova inventáře do ChestScene (jedna ze scén, která se střídá v hlavní Stage, kde běží hra, vytvořena uvnitř GamSceneMaster), kde se tento list itemů zobrazí. Zobrazují se Background instance, které jsou uloženy uvnitř instancí itemů (Item má vlastní background, svůj sprite, který se nastaví jako pozadí tlačítka v inventáři. viz [GUI](https://gitlab.fel.cvut.cz/svobo114/java-rpg-game-pjv/-/wikis/Dokumentace/GUI-a-Grafika).
* Pokud zmáčknu "E" na otevření truhly, MainController se nejdřív podívá, jestli je v mém okolí truhla, potom jestli k ní mám klíč a pokud mám, tak mi tuto truhlu otevře (opět pošle data z truhly do příslušné scény a otevře ji v herním okně). Když zmáčknu "Mouse1" (primární tlačítko myši), charakter zaútočí na stranu, na kterou zrovna míří. MainController od hráčova modelu zjistí, s jakým poškozením útočí, pak se podívá, jestli je na daném místě kolize s hitboxem nějakého z Mobů (zranitelné entity). Pokud ano, hráč zaútočí s tím poškouzením. Pokud Mob zemře (životy<=0), hráč dostane obnos peněz.
(UML S relacemi tříd a dědičností)
![obrazek](uploads/b03be9104196115612b2695bbc46926a/obrazek.png)
# Jednotlivé package:
**View: (**[**GUI**](https://gitlab.fel.cvut.cz/svobo114/java-rpg-game-pjv/-/wikis/Dokumentace/GUI-a-Grafika)**)**
......
......