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) -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:
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
<SolutionDirectory>/
├─ <ProjectDirectory>/
│ ├─ Actors/
│ ├─ Commands/
│ ├─ Items/
│ ├─ resources/
│ ├─ <ProjectFile>.csproj
│ └─ Program.cs
├─ .gitignore
├─ <SolutionFile>.sln
└─ README