Alternativy seminářového úkolu 5

Website: Moodle ZČU
Kurs: Sada úloh pro procvičení v předmětu KVD/PGM1P (BP Vítek Dolný)
Buch: Alternativy seminářového úkolu 5
Gedruckt von: Nepřihlášený host
Datum: Sonntag, 18. Oktober 2026, 04:25

Zadání 1 – Lov pokladu

Zadání

Uživatel zadá rozsah pro osu X a Y, aplikace „schová poklad“ (náhodné souřadnice). Uživatel poté tipuje dvojici (x, y). Po každém tipu aplikace ukáže:

  • zda je x menší/větší a y menší/větší než cílová hodnota,

  • zda je uživatel tepleji (blíže) nebo studeněji (dále) než minule (počítá se manhattanská vzdálenost),

  • počet pokusů.
    Po uhodnutí přesné dvojice se vypíše gratulace a možnost Nová hra.


Cíl úlohy
  • Náhodná čísla v rozsahu, práce s DOM a obsluhou tlačítek.

  • Porovnání dvou hodnot najednou a výpočet vzdálenosti.

  • Jednoduchá validace vstupu a zobrazení hlášek.


Vstupní podmínky
  • Základní HTML kostra a tři soubory: index.html, style.css, main.js.


Požadovaný výstup
  • Pole pro zadání rozsahů X a Y, tlačítko Zamíchat poklad.

  • Pole pro tip x, y, tlačítko Tipnout, tlačítko Nová hra.

  • Oblast se stavem: nápovědy pro osu X/Y, „tepleji/studeněji“, počítadlo pokusů.


Doplňující pokyny
  • Sémantické značky main, section, h1, fieldset, legend.

  • Jednoduché názvy proměnných a tříd, české komentáře v JS.

  • Žádné šipkové funkce, ternární operátory ani var.

Lov pokladu

Nastavení rozsahu

Tip

Pokusy: 0

Nápověda: —

Teploměr: —

Výsledek: —

Řešení úlohy 1 – Lov pokladu

Co je zde splněno

  • onclick na třech tlačítkách, generování náhodných hodnot v rozsahu, validace vstupu.

  • Porovnání po osách + „tepleji/studeněji“ podle manhattanské vzdálenosti.

  • Počítání pokusů a jasné textové hlášení stavu.

Poznámky
  • Pro kratší hru zmenši rozsahy, pro náročnější je rozšiř.

  • Místo manhattanské vzdálenosti lze zkusit eukleidovskou (vyžaduje Math.sqrt).

Zadání 2 – Trezor na 3 cifry

Zadání

Aplikace vygeneruje tajný kód se třemi ciframi (0–9). Uživatel zadává tip jako tři číslice (např. 407) a stiskne Odhadnout. Aplikace po každém tipu vypíše:

  • pro každou cifru, zda má být vyšší/nižší nebo je správně,

  • kolik cifer je správně na správném místě,

  • kolik pokusů zbývá.
    Po uhodnutí všech tří cifer (nebo vypršení limitu) hra skončí a zobrazí se výsledek s tlačítkem Nová hra.


Cíl úlohy
  • Náhodné generování tří hodnot a práce s polem.

  • Kontrola vstupu (přesně tři číslice).

  • Sestavení nápovědy po prvcích a správa limitu pokusů.


Vstupní podmínky
  • Základní HTML kostra + soubory index.html, style.css, main.js.


Požadovaný výstup
  • Tlačítka Zamknout (nový kód), Odhadnout, Nová hra.

  • Výpis nápovědy po cifrách, počtu správných cifer a zbývajících pokusů.

  • Limit pokusů (např. 10) a české komentáře v JS.


Doplňující pokyny
  • Sémantické značky, srozumitelné názvy, čisté odsazení.

  • Žádné šipkové funkce, ternární operátory ani var. Podmínky explicitně.

Trezor na 3 cifry

Nejprve zamkni trezor – vygeneruje se tajný kód.

Tvůj tip

Zbývá pokusů: 0

Správně na místě: 0 / 3

    —

    Řešení úlohy

    Co je zde splněno
    • Generování náhodného kódu, opakované odhady, kontrola vstupu a limit pokusů.

    • Nápověda pro každou cifru zvlášť a počítání „správně na místě“.

    • Jednoduchá a čitelná práce s DOM, žádné pokročilé konstrukce.

    Poznámky
    • Limit pokusů lze změnit v proměnné pokusyMax.

    • Pro další obtížnost můžeš přidat režim bez opakování cifer (vyžaduje kontrolu duplicity při generování) nebo záznam historie tipů do tabulky.