|
|
|
# Zadanie 2
|
|
|
|
|
|
|
|
- Vypracovať obsah cvičení 6-9
|
|
|
|
- Dodržať nižšieuvedenú štruktúru projektu
|
|
|
|
- Pridať aspoň (počítajú sa len veci ktoré majú implementovanú a 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
|
|
|
|
|
|
|
|
Deadline 3.1.2021 23:59
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Poznámky
|
|
|
|
|
|
|
|
Ak sú definované v rozhraní konkrétne metódy, použite ich v 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
|
|
|
|
``` |