You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/sk/6-space-game/6-end-condition/assignment.md

171 lines
9.2 KiB

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "232d592791465c1678cab3a2bb6cd3e8",
"translation_date": "2025-10-24T21:47:54+00:00",
"source_file": "6-space-game/6-end-condition/assignment.md",
"language_code": "sk"
}
-->
# Vytvorenie ukážkovej hry
## Prehľad zadania
Teraz, keď ste zvládli podmienky ukončenia hry a funkciu reštartu vo vašej vesmírnej hre, je čas aplikovať tieto koncepty na úplne nový herný zážitok. Navrhnete a vytvoríte vlastnú hru, ktorá demonštruje rôzne vzory podmienok ukončenia a mechanizmy reštartu.
Toto zadanie vás vyzýva k tomu, aby ste kreatívne premýšľali o dizajne hry a zároveň si precvičili technické zručnosti, ktoré ste sa naučili. Preskúmate rôzne scenáre víťazstva a porážky, implementujete hráčsky progres a vytvoríte pútavé zážitky z reštartu.
## Požiadavky na projekt
### Základné funkcie hry
Vaša hra musí obsahovať nasledujúce základné prvky:
**Rôznorodosť podmienok ukončenia**: Implementujte aspoň dva rôzne spôsoby, ako môže hra skončiť:
- **Víťazstvo na základe bodov**: Hráč dosiahne cieľové skóre alebo nazbiera konkrétne predmety
- **Porážka na základe života**: Hráč stratí všetky dostupné životy alebo body zdravia
- **Splnenie cieľa**: Porazenie všetkých nepriateľov, nazbieranie konkrétnych predmetov alebo dosiahnutie cieľov
- **Na základe času**: Hra končí po stanovenom čase alebo keď odpočítavanie dosiahne nulu
**Funkcia reštartu**:
- **Vymazanie stavu hry**: Odstránenie všetkých predchádzajúcich herných objektov a resetovanie premenných
- **Reinicializácia systémov**: Začiatok odznova s novými štatistikami hráča, nepriateľmi a cieľmi
- **Používateľsky prívetivé ovládanie**: Poskytnutie jasných pokynov na reštartovanie hry
**Spätná väzba hráčovi**:
- **Správy o víťazstve**: Oslávte úspechy hráča pozitívnou spätnou väzbou
- **Správy o porážke**: Poskytnite povzbudivé správy, ktoré motivujú k opätovnému hraniu
- **Indikátory progresu**: Zobrazte aktuálne skóre, životy alebo stav cieľov
### Nápady na hry a inšpirácia
Vyberte si jeden z týchto konceptov hier alebo si vytvorte vlastný:
#### 1. Konzolová dobrodružná hra
Vytvorte textovú adventúru s bojovými mechanikami:
```
Hero> Strikes with broadsword - orc takes 3p damage
Orc> Hits with club - hero takes 2p damage
Hero> Kicks - orc takes 1p damage
Game> Orc is defeated - Hero collects 2 coins
Game> ****No more monsters, you have conquered the evil fortress****
```
**Kľúčové funkcie na implementáciu:**
- **Boj na ťahy** s rôznymi možnosťami útoku
- **Body zdravia** pre hráča aj nepriateľov
- **Inventárny systém** na zbieranie mincí alebo predmetov
- **Rôzne typy nepriateľov** s rôznou obtiažnosťou
- **Podmienka víťazstva** pri porazení všetkých nepriateľov
#### 2. Zberateľská hra
- **Cieľ**: Zbierajte konkrétne predmety a vyhýbajte sa prekážkam
- **Podmienky ukončenia**: Dosiahnite cieľový počet nazbieraných predmetov alebo stratíte všetky životy
- **Progres**: Predmety sa stávajú ťažšie dostupné, ako hra pokračuje
#### 3. Logická hra
- **Cieľ**: Riešte stále náročnejšie hádanky
- **Podmienky ukončenia**: Dokončite všetky úrovne alebo vám dôjdu ťahy/čas
- **Reštart**: Reset na prvú úroveň s vymazaným progresom
#### 4. Obranná hra
- **Cieľ**: Chráňte svoju základňu pred vlnami nepriateľov
- **Podmienky ukončenia**: Prežite všetky vlny (víťazstvo) alebo základňa je zničená (porážka)
- **Progres**: Vlny nepriateľov sa stávajú ťažšími a početnejšími
## Pokyny na implementáciu
### Začíname
1. **Naplánujte si dizajn hry**:
- Nakreslite základný herný cyklus
- Jasne definujte svoje podmienky ukončenia
- Identifikujte, aké údaje je potrebné resetovať pri reštarte
2. **Nastavte štruktúru projektu**:
```
my-game/
├── index.html
├── style.css
├── game.js
└── README.md
```
3. **Vytvorte základný herný cyklus**:
- Inicializujte stav hry
- Spracujte vstupy od používateľa
- Aktualizujte hernú logiku
- Skontrolujte podmienky ukončenia
- Zobrazte aktuálny stav
### Technické požiadavky
**Používajte moderný JavaScript**:
- Používajte `const` a `let` na deklaráciu premenných
- Používajte šípkové funkcie, kde je to vhodné
- Implementujte funkcie ES6+ ako šablónové literály a deštrukturalizáciu
**Architektúra založená na udalostiach**:
- Vytvorte obslužné funkcie udalostí pre interakcie používateľa
- Implementujte zmeny stavu hry prostredníctvom udalostí
- Používajte poslucháče udalostí pre funkciu reštartu
**Praktiky čistého kódu**:
- Píšte funkcie s jednou zodpovednosťou
- Používajte popisné názvy premenných a funkcií
- Pridajte komentáre vysvetľujúce logiku hry a pravidlá
- Organizujte kód do logických sekcií
## Požiadavky na odovzdanie
### Výstupy
1. **Kompletné súbory hry**: Všetky súbory HTML, CSS a JavaScript potrebné na spustenie vašej hry
2. **README.md**: Dokumentácia vysvetľujúca:
- Ako hrať vašu hru
- Aké podmienky ukončenia ste implementovali
- Pokyny na reštartovanie
- Akékoľvek špeciálne funkcie alebo mechaniky
3. **Komentáre v kóde**: Jasné vysvetlenia vašej hernej logiky a algoritmov
### Kontrolný zoznam testovania
Pred odovzdaním overte, že vaša hra:
- [ ] **Beží bez chýb** v konzole prehliadača
- [ ] **Implementuje viacero podmienok ukončenia** podľa špecifikácie
- [ ] **Správne sa reštartuje** s čistým resetom stavu
- [ ] **Poskytuje jasnú spätnú väzbu** hráčom o stave hry
- [ ] **Používa moderný JavaScript** syntax a najlepšie praktiky
- [ ] **Obsahuje komplexnú dokumentáciu** v README.md
## Hodnotiaca tabuľka
| Kritérium | Vynikajúce (4) | Dobré (3) | Rozvíjajúce sa (2) | Začiatočnícke (1) |
|-----------|----------------|-----------|--------------------|-------------------|
| **Funkčnosť hry** | Kompletná hra s viacerými podmienkami ukončenia, plynulým reštartom a vylešteným herným zážitkom | Kompletná hra so základnými podmienkami ukončenia a funkčným mechanizmom reštartu | Čiastočná hra s niektorými implementovanými podmienkami ukončenia, reštart môže mať drobné problémy | Neúplná hra s obmedzenou funkčnosťou a významnými chybami |
| **Kvalita kódu** | Čistý, dobre organizovaný kód používajúci moderné praktiky JavaScriptu, komplexné komentáre a výborná štruktúra | Dobrá organizácia kódu s modernou syntaxou, primerané komentáre a jasná štruktúra | Základná organizácia kódu s niektorými modernými praktikami, minimálne komentáre | Slabá organizácia kódu, zastaraná syntax, chýbajúce komentáre a štruktúra |
| **Používateľský zážitok** | Intuitívna hrateľnosť s jasnými pokynmi, výbornou spätnou väzbou a pútavým zážitkom z ukončenia/reštartu | Dobrá hrateľnosť s primeranými pokynmi a spätnou väzbou, funkčné ukončenie/reštart | Základná hrateľnosť s minimálnymi pokynmi, obmedzená spätná väzba o stave hry | Mätúca hrateľnosť s nejasnými pokynmi a slabou spätnou väzbou |
| **Technická implementácia** | Preukazuje majstrovstvo v konceptoch vývoja hier, spracovaní udalostí a správe stavu | Ukazuje solídne pochopenie konceptov hier s dobrou implementáciou | Základné pochopenie s prijateľnou implementáciou | Obmedzené pochopenie so slabou implementáciou |
| **Dokumentácia** | Komplexný README s jasnými pokynmi, dobre zdokumentovaný kód a dôkazy o dôkladnom testovaní | Dobrá dokumentácia s jasnými pokynmi a primeranými komentármi v kóde | Základná dokumentácia s minimálnymi pokynmi | Slabá alebo chýbajúca dokumentácia |
### Hodnotiaca škála
- **Vynikajúce (16-20 bodov)**: Prekračuje očakávania s kreatívnymi funkciami a vyleštenou implementáciou
- **Dobré (12-15 bodov)**: Spĺňa všetky požiadavky so solídnym prevedením
- **Rozvíjajúce sa (8-11 bodov)**: Spĺňa väčšinu požiadaviek s drobnými problémami
- **Začiatočnícke (4-7 bodov)**: Spĺňa niektoré požiadavky, ale potrebuje výrazné zlepšenie
## Dodatočné zdroje na učenie
- [MDN Príručka vývoja hier](https://developer.mozilla.org/en-US/docs/Games)
- [JavaScript Tutoriály vývoja hier](https://developer.mozilla.org/en-US/docs/Games/Tutorials)
- [Dokumentácia Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)
- [Princípy dizajnu hier](https://www.gamasutra.com/blogs/)
> 💡 **Tip**: Začnite jednoducho a postupne pridávajte funkcie. Dobre vyleštená jednoduchá hra je lepšia ako komplexná hra s chybami!
---
**Zrieknutie sa zodpovednosti**:
Tento dokument bol preložený pomocou služby AI prekladu [Co-op Translator](https://github.com/Azure/co-op-translator). Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.