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

exam 0 · Changes

Page history
Create exam 0 authored Dec 15, 2021 by Ing. Lukáš Hruška's avatar Ing. Lukáš Hruška
Show whitespace changes
Inline Side-by-side
Showing with 63 additions and 0 deletions
+63 -0
  • exam-0.md exam-0.md +63 -0
  • No files found.
exam-0.md 0 → 100644
View page @ e488bf1d
# 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
```csharp
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.
```csharp
//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:
```plaintext
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