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.
171 lines
9.1 KiB
171 lines
9.1 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "232d592791465c1678cab3a2bb6cd3e8",
|
|
"translation_date": "2025-10-24T21:10:50+00:00",
|
|
"source_file": "6-space-game/6-end-condition/assignment.md",
|
|
"language_code": "cs"
|
|
}
|
|
-->
|
|
# Vytvořte ukázkovou hru
|
|
|
|
## Přehled úkolu
|
|
|
|
Teď, když jste zvládli podmínky ukončení hry a funkci restartu ve své vesmírné hře, je čas aplikovat tyto koncepty na zcela nový herní zážitek. Navrhnete a vytvoříte vlastní hru, která demonstruje různé vzory podmínek ukončení a mechaniky restartu.
|
|
|
|
Tento úkol vás vyzývá k tomu, abyste kreativně přemýšleli o herním designu a zároveň si procvičili technické dovednosti, které jste se naučili. Prozkoumáte různé scénáře vítězství a porážky, implementujete hráčský postup a vytvoříte poutavé zážitky z restartu.
|
|
|
|
## Požadavky na projekt
|
|
|
|
### Základní prvky hry
|
|
|
|
Vaše hra musí obsahovat následující základní prvky:
|
|
|
|
**Různé podmínky ukončení**: Implementujte alespoň dva různé způsoby, jak může hra skončit:
|
|
- **Vítězství na základě bodů**: Hráč dosáhne cílového skóre nebo nasbírá specifické předměty
|
|
- **Porážka na základě životů**: Hráč ztratí všechny dostupné životy nebo body zdraví
|
|
- **Splnění cíle**: Porážka všech nepřátel, nasbírání specifických předmětů nebo dosažení cílů
|
|
- **Časové omezení**: Hra končí po stanovené době nebo když odpočet dosáhne nuly
|
|
|
|
**Funkce restartu**:
|
|
- **Vymazání stavu hry**: Odstranění všech předchozích herních objektů a reset proměnných
|
|
- **Znovu inicializace systémů**: Začátek od začátku s novými statistikami hráče, nepřáteli a cíli
|
|
- **Uživatelsky přívětivé ovládání**: Poskytnutí jasných instrukcí pro restart hry
|
|
|
|
**Zpětná vazba hráči**:
|
|
- **Zprávy o vítězství**: Oslava úspěchů hráče pozitivní zpětnou vazbou
|
|
- **Zprávy o porážce**: Poskytnutí povzbudivých zpráv, které motivují k opětovnému hraní
|
|
- **Ukazatele postupu**: Zobrazení aktuálního skóre, životů nebo stavu cíle
|
|
|
|
### Nápady na hry a inspirace
|
|
|
|
Vyberte si jeden z těchto konceptů her nebo vytvořte vlastní:
|
|
|
|
#### 1. Konzolová dobrodružná hra
|
|
Vytvořte textovou adventuru 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****
|
|
```
|
|
|
|
**Klíčové prvky k implementaci:**
|
|
- **Tahové souboje** s různými možnostmi útoku
|
|
- **Body zdraví** pro hráče i nepřátele
|
|
- **Inventářový systém** pro sbírání mincí nebo předmětů
|
|
- **Různé typy nepřátel** s různou obtížností
|
|
- **Podmínka vítězství**, když jsou všichni nepřátelé poraženi
|
|
|
|
#### 2. Sběratelská hra
|
|
- **Cíl**: Sbírat specifické předměty a vyhýbat se překážkám
|
|
- **Podmínky ukončení**: Dosáhnout cílového počtu nasbíraných předmětů nebo ztratit všechny životy
|
|
- **Postup**: Předměty se stávají těžšími na dosažení, jak hra pokračuje
|
|
|
|
#### 3. Logická hra
|
|
- **Cíl**: Řešit stále obtížnější hádanky
|
|
- **Podmínky ukončení**: Dokončit všechny úrovně nebo vyčerpat tahy/čas
|
|
- **Restart**: Reset na první úroveň s vymazaným postupem
|
|
|
|
#### 4. Obranná hra
|
|
- **Cíl**: Chránit svou základnu před vlnami nepřátel
|
|
- **Podmínky ukončení**: Přežít všechny vlny (vítězství) nebo zničení základny (porážka)
|
|
- **Postup**: Vlny nepřátel se stávají obtížnějšími a početnějšími
|
|
|
|
## Pokyny k implementaci
|
|
|
|
### Začínáme
|
|
|
|
1. **Naplánujte si design hry**:
|
|
- Nakreslete základní herní smyčku
|
|
- Jasně definujte své podmínky ukončení
|
|
- Identifikujte, jaká data je třeba resetovat při restartu
|
|
|
|
2. **Nastavte strukturu projektu**:
|
|
```
|
|
my-game/
|
|
├── index.html
|
|
├── style.css
|
|
├── game.js
|
|
└── README.md
|
|
```
|
|
|
|
3. **Vytvořte hlavní herní smyčku**:
|
|
- Inicializujte stav hry
|
|
- Zpracovávejte vstupy uživatele
|
|
- Aktualizujte herní logiku
|
|
- Kontrolujte podmínky ukončení
|
|
- Zobrazujte aktuální stav
|
|
|
|
### Technické požadavky
|
|
|
|
**Používejte moderní JavaScript**:
|
|
- Používejte `const` a `let` pro deklaraci proměnných
|
|
- Používejte šipkové funkce, kde je to vhodné
|
|
- Implementujte funkce ES6+ jako šablonové literály a destrukturalizaci
|
|
|
|
**Architektura založená na událostech**:
|
|
- Vytvářejte obslužné funkce pro interakce uživatele
|
|
- Implementujte změny stavu hry prostřednictvím událostí
|
|
- Používejte posluchače událostí pro funkci restartu
|
|
|
|
**Čisté programovací praktiky**:
|
|
- Pište funkce s jedním účelem
|
|
- Používejte popisné názvy proměnných a funkcí
|
|
- Přidávejte komentáře vysvětlující herní logiku a pravidla
|
|
- Organizujte kód do logických sekcí
|
|
|
|
## Požadavky na odevzdání
|
|
|
|
### Výstupy
|
|
|
|
1. **Kompletní soubory hry**: Všechny soubory HTML, CSS a JavaScript potřebné pro spuštění vaší hry
|
|
2. **README.md**: Dokumentace vysvětlující:
|
|
- Jak hrát vaši hru
|
|
- Jaké podmínky ukončení jste implementovali
|
|
- Instrukce pro restart
|
|
- Jakékoliv speciální funkce nebo mechaniky
|
|
3. **Komentáře v kódu**: Jasná vysvětlení vaší herní logiky a algoritmů
|
|
|
|
### Kontrolní seznam testování
|
|
|
|
Před odevzdáním ověřte, že vaše hra:
|
|
|
|
- [ ] **Běží bez chyb** v konzoli prohlížeče
|
|
- [ ] **Implementuje více podmínek ukončení** podle specifikací
|
|
- [ ] **Správně se restartuje** s čistým resetem stavu
|
|
- [ ] **Poskytuje jasnou zpětnou vazbu** hráčům o stavu hry
|
|
- [ ] **Používá moderní JavaScript** syntaxi a nejlepší praktiky
|
|
- [ ] **Obsahuje komplexní dokumentaci** v README.md
|
|
|
|
## Hodnotící kritéria
|
|
|
|
| Kritéria | Vynikající (4) | Dobré (3) | Rozvíjející se (2) | Začínající (1) |
|
|
|----------|---------------|-----------|--------------------|----------------|
|
|
| **Funkčnost hry** | Kompletní hra s více podmínkami ukončení, plynulým restartem a propracovaným herním zážitkem | Kompletní hra se základními podmínkami ukončení a funkčním restartem | Částečná hra s některými implementovanými podmínkami ukončení, restart může mít drobné problémy | Nedokončená hra s omezenou funkčností a významnými chybami |
|
|
| **Kvalita kódu** | Čistý, dobře organizovaný kód využívající moderní praktiky JavaScriptu, komplexní komentáře a výborná struktura | Dobrá organizace kódu s moderní syntaxí, dostatečné komentáře a jasná struktura | Základní organizace kódu s některými moderními praktikami, minimální komentáře | Špatná organizace kódu, zastaralá syntaxe, nedostatek komentářů a struktury |
|
|
| **Uživatelský zážitek** | Intuitivní hratelnost s jasnými instrukcemi, výbornou zpětnou vazbou a poutavým zážitkem z ukončení/restartu | Dobrá hratelnost s dostatečnými instrukcemi a zpětnou vazbou, funkční ukončení/restart | Základní hratelnost s minimálními instrukcemi, omezená zpětná vazba o stavu hry | Matoucí hratelnost s nejasnými instrukcemi a špatnou zpětnou vazbou |
|
|
| **Technická implementace** | Prokazuje mistrovství v konceptech vývoje her, zpracování událostí a správě stavu | Ukazuje solidní pochopení herních konceptů s dobrou implementací | Základní pochopení s přijatelnou implementací | Omezené pochopení s špatnou implementací |
|
|
| **Dokumentace** | Komplexní README s jasnými instrukcemi, dobře dokumentovaný kód a důkazy o důkladném testování | Dobrá dokumentace s jasnými instrukcemi a dostatečnými komentáři v kódu | Základní dokumentace s minimálními instrukcemi | Špatná nebo chybějící dokumentace |
|
|
|
|
### Hodnotící stupnice
|
|
- **Vynikající (16-20 bodů)**: Překračuje očekávání s kreativními funkcemi a propracovanou implementací
|
|
- **Dobré (12-15 bodů)**: Splňuje všechny požadavky s kvalitním provedením
|
|
- **Rozvíjející se (8-11 bodů)**: Splňuje většinu požadavků s drobnými problémy
|
|
- **Začínající (4-7 bodů)**: Splňuje některé požadavky, ale potřebuje výrazné zlepšení
|
|
|
|
## Další zdroje pro učení
|
|
|
|
- [MDN Průvodce vývojem her](https://developer.mozilla.org/en-US/docs/Games)
|
|
- [JavaScript Tutoriály pro vývoj her](https://developer.mozilla.org/en-US/docs/Games/Tutorials)
|
|
- [Dokumentace Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API)
|
|
- [Principy herního designu](https://www.gamasutra.com/blogs/)
|
|
|
|
> 💡 **Tip**: Začněte jednoduše a postupně přidávejte funkce. Dobře propracovaná jednoduchá hra je lepší než složitá hra plná chyb!
|
|
|
|
---
|
|
|
|
**Prohlášení**:
|
|
Tento dokument byl přeložen pomocí služby AI pro překlad [Co-op Translator](https://github.com/Azure/co-op-translator). Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu. |