|  |  | # Zadanie 2 | 
|  |  |  | 
|  |  | - Vypracovať obsah cvičení 7-10 | 
|  |  | - používať aktuálnu verziu knižnice MerlinCore | 
|  |  | - Dodržať nižšieuvedenú štruktúru projektu | 
|  |  | - Pridať aspoň (počítajú sa len veci ktoré majú implementovanú unikátnu funkcionalitu a už neboli predtým definované v cvičeniach): | 
|  |  | - 5 nových actorov | 
|  |  | - 3 nové návrhové vzory | 
|  |  | - 3 itemy | 
|  |  | - 2 SpellEffects | 
|  |  | - Vlastná tvorivá činnosť | 
|  |  | - Dohrateľné kolo(á) | 
|  |  | - Dodržať DRY principle (Don't repeat yourself) | 
|  |  | - Dodržať zapôzdrenie | 
|  |  | - Dodržať [štábnu kultúru (link) (okrem bodu 10 - nepoužívajte zatiaľ var)](https://github.com/ktaranov/naming-convention/blob/master/C%23%20Coding%20Standards%20and%20Naming%20Conventions.md) -5% až -20% (ak chcete použiť odporúčania z iného zdroja, uveďte odkaz v Program.cs) | 
|  |  |  | 
|  |  | Deadline 3.1.2022 23:59 - o spôsobe odovzdania budete včas informovaní | 
|  |  |  | 
|  |  | ## Hodnotenie | 
|  |  |  | 
|  |  | - 15b za úlohy z cvičení | 
|  |  | - 15b za vlastnú tvorivú činnosť, počíta sa tu: | 
|  |  | - pridanie novej funkcionality | 
|  |  | - mapa | 
|  |  | - originálnosť nápadu a celkový dojem z hry | 
|  |  |  | 
|  |  | Ako aj pri prvom zadaní, bude penalizácia v % (tento raz maximálne 25% z výsledného hodnotenia) za nedodržanie zapôzdrenia, hrubé porušovanie štábnej kultúry, neskompilovateľnosť kódu | 
|  |  |  | 
|  |  | Podmienkou akceptácie zadania je úspešné obhájenie práce a práca __musí prejsť kontrolou originality__. | 
|  |  |  | 
|  |  | --- | 
|  |  |  | 
|  |  | ## Poznámky | 
|  |  |  | 
|  |  | Ak sú definované v rozhraní konkrétne metódy, použite ich pri riešení problému. Ak niekde chýba medzikrok a potrebujete pridať ďalšie metódy, môžete tak urobiť - zohľadnite to aj v interface. | 
|  |  |  | 
|  |  | Ak má `Class1` implementovať `Interface1`, neznamená to, že ho musí implementovať priamo: | 
|  |  |  | 
|  |  | ```csharp | 
|  |  | public interface Interface1 | 
|  |  | { | 
|  |  |  | 
|  |  | } | 
|  |  |  | 
|  |  | public class Class1 : Interface1 //OK | 
|  |  | { | 
|  |  |  | 
|  |  | } | 
|  |  |  | 
|  |  | public interface Interface2 : Interface1 | 
|  |  | { | 
|  |  |  | 
|  |  | } | 
|  |  |  | 
|  |  | public class Class1 : Interface2 //OK as well | 
|  |  | { | 
|  |  |  | 
|  |  | } | 
|  |  |  | 
|  |  | ``` | 
|  |  |  | 
|  |  | Všade, kde to nie je nutné, používajte private, platí to aj pre členské premenné - ku použitiu properties pristupujte rovnako ako k použitiu public get/set - iba keď je to odôvodnené, inak použite private členskú premennú. | 
|  |  |  | 
|  |  |  | 
|  |  | ## Štruktúra projektu | 
|  |  |  | 
|  |  | ```ascii | 
|  |  | <SolutionDirectory>/ | 
|  |  | ├─ <ProjectDirectory>/ | 
|  |  | │  ├─ Actors/ | 
|  |  | │  ├─ Commands/ | 
|  |  | │  ├─ Items/ | 
|  |  | │  ├─ resources/ | 
|  |  | │  ├─ <ProjectFile>.csproj | 
|  |  | │  └─ Program.cs | 
|  |  | ├─ .gitignore | 
|  |  | ├─ <SolutionFile>.sln | 
|  |  | └─ README | 
|  |  | ``` | 
|  |  | \ No newline at end of file |