|
|
# 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 |