Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
P PVJCs20
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Ing. Lukáš Hruška
  • PVJCs20
  • Wiki
  • cv9

Last edited by Ing. Lukáš Hruška Nov 16, 2020
Page history

cv9

Cvičenie 9

poznámka k cvičeniu 8: ak priamo v SpellDirector voláte SpellDataProvider.GetInstance() zmeňte implementáciu tak, aby referenciu dostal SpellDirector priamo v konštruktore. Tiež tam pošlite referenciu na wizarda.

9.1 [Minor Healing Potion]

Vytvorte si namespace Actors.Items a v ňom triedu HealingPotion, ktorá rozširuje AbstractActor a implementuje rozhrania IItem a IUsable. Zabezpečte, aby sa elixír dal použiť iba raz a doplnil pužívateľovi X (číslo si zvoľte) života (nezabudnite, že fľaška sa tým pádom vyprázdni, takže nezabudnite zmeniť animáciu pre prípad, že sa nezmaže z inventára).

9.2 [Small Red Pouch]

Vytvorte si triedu Backpack (implementuje IInventory). Bude sa jednať o našu vlastnú kolekciu. Prepokladajte nasledovné:

  • Backpack bude mať v sebe uchované veci. Jeho veľkosť je konečná, dostane ju v konštruktore. Ak by bola pridaná vec do plného batohu, vyvolajte exception FullInventoryException (je nutné si ju vytvoriť) - pridanie do plného invenára nesmie zhodiť program!
  • veci majte uložené v poli (array)
  • vždy vieme pristupovať len k prvému (alebo poslednému, vyberte si) prvku a nová vec je pridaná na koniec.
  • je dostupný iterátor (IEnumerator<Item>)
  • ShiftRight/Left posunie prvky. Nezabudnite preniesť prvok medzi koncom a začiatkom

na implementáciu iterátora použite yield return (MSDN documentation)

Pozor pole má v sebe stále X prvkov, aj keď sú null, yield return by ich vrátil, zabezpečte, aby sa cyklus ukončil, keď sa nájde null.

na zobrazenie hráčovho inventára použite World.ShowInventory(IInventory)

9.3 Finishing touches

Pridajte si chýbajúce animácie.

Skeleton a Player by mali byť schopní útočiť, pridajte im túto možnosť.

Schovajte konzolu:

  • Windows: Project -> Properties -> Application -> Output type: Windows Application
  • Linux / Mac: v .csproj súbore si upravte: <OutputType>Exe</OutputType>

Logout.


Ak by ste chceli nejakú funkcionalitu doplniť do engine, dajte mi vedieť.

Clone repository
  • assignment2
  • cv2
  • cv3
  • cv4
  • cv5
  • cv6
  • cv7
  • cv8
  • cv9
  • exams
    • 1.md
    • 2.md
    • 3.md
    • 3b.md
    • 4.md
    • 5.md
View All Pages