Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
P PVJCs2021
  • 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
    • Package Registry
    • 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
  • PVJCs2021
  • Wiki
  • exam 0

Last edited by Ing. Lukáš Hruška Dec 15, 2021
Page history

exam 0

Skúška 15.12.2021

  • Je povolené používať Internet na vyhľadanie informácii týkajúcich sa syntaxe jazyka C#, metód a pod. Nie je povolené komunikovať cez Internet (ani inak) s použitím mailu, chatu, Facebooku, Discordu a pod. Porušenie tohto zákazu je dôvodom pre vylúčenie zo skúšky s hodnotením 0 bodov. Nie je povolená žiadna forma plagiátorstva (čiastkové riešenia problémov môžete použiť, v takomto prípade uveďte do komentárov URL).
  • V prípade, že bude odhalený pokus o podvod, všetci zúčastnení na podvode budú vylúčení zo skúšky s hodnotením 0 bodov.
  • Ak sú v zadaní uvedené mená pre premenné a metódy používajte presne tie mená, ktoré sú uvedené v zadaní.
  • Dodržanie rovnakých podmienok, ako platili pri zápočte.
  • Uznané bude len riešenie, ktoré je možné skompilovať a spustiť na testovacom počítači (na ktorom sa budú spúšťať všetky zadania).
  • Hotové zadanie odovzdajte cez MS Teams) - nezabudnite pred zabalením dať clean solution (a vymazať skrytý priečinok .vs)

Na vypracovanie zadania máte 60 minút. Body sa prideľujú iba ak je študent schopný obhájiť svoj kód, nestačí, že to je napísané.

Úloha 1

(15 bodov)

Vytvorte si rozhranie

public interface IScoreCounter
{
    void AddScore(int score);
    void ResetScoreCounter();
    int GetScore();
    void SetWorld(IWorld world);
}

Vytvorte si triedu ScoreCounter, ktorá bude implementovať návrhový vzor singleton a horeuvedené rozhranie nasledovne:

  • AddScore - pripočíta (odpočíta, ak je hodnota záporná) body
  • ResetScoreCounter - vynuluje počítadlo
  • GetScore - vráti aktuálne nahrané body
  • SetWorld - nastaví referenciu na svet - potrebné pre zobrazenie skóre na obrazovke

Zabezpečte, aby bolo na obrazovke vypísané aktuálne skóre.

//hint
public Message(string text, int x, int y, int fontSize, Color color, MessageDuration messageDuration)
IWorld.AddMessage(IMessage message)
IMessage.SetText(string newText)

Úloha 2

(15 bodov)

Vyberte si aspoň 3 akcie (napr. zabitie nepriateľa, ubratie / strata života, otvorenie / zatvorenie dverí), ktoré budú pridávať / uberať body a implementujte ich.

Úloha 3

(10 bodov)

Po skončení hry si od hráča vypýtajte meno a jeho body uložte do textového súboru vo formáte:

meno (medzera) body

Zabezpečte, aby sa už existujúci súbor neprepísal, nový záznam doplňte na koniec súboru. Využite FileStream. Zabezpečte, aby bol po skončení súbor zavretý.

Clone repository
  • assignment 1
  • assignment 2
  • cv10
  • cv2
  • cv3
  • cv4
  • cv5
  • cv7
  • cv8
  • cv9
  • exam 0
  • exam 1
  • exam 2
  • exam 3
  • exam 4
View All Pages