Table of Contents

2048

2048 je snadno pochopitelná, ale silně návyková hra pro jednoho hráče. Obsahuje prvky náhody, ale především vyžaduje dobrou strategii. Na základě této hry jsme pro vás nadefinovali několik na sebe navazujících úloh, které máte vyřešit. Obtížnost těchto úkolů se postupně zvyšuje, některé nevyžadují žádné programování, u jiných si zapřemýšlíte a zaprogramujete poměrně dost.

Hru, i její další varianty, si můžete zahrát online: http://2048game.com

Popis hry

Hru zde popíšeme jen velice stručně a záměrně ne detailně, protože přijít na pravidla hry je jedním z úkolů v tomto projektu.

2048 je desková “šoupací” hra, v níž ovládáte dlaždice umístěné na hrací ploše 4×4. Dlaždice na sobě mají číslo, kterým je vždy nějaká mocnina čísla 2 (2, 4, 8, 16, 32, …). Na začátku hry jsou na ploše umístěné jen 2 dlaždice, ale po každém tahu je na nějaké volné místo na ploše umístěna nová dlaždice s číslem 2 nebo 4 (pravděpodobnost čísla 2 je mnohem vyšší než čísla 4).

Hráč (herní strategie) může v každém tahu ovlivnit stav hrací plochy jedním ze 4 povelů: nahoru, dolů, doleva, doprava. Výsledkem tohoto povelu je to, že se dlaždice takříkajíc “sesypou” na požadovanou stranu. Při tomto sesypání se některé z dlaždic mohou spojit do jedné dlaždice s vyšším číslem.

Cílem klasické verze hry je dosáhnout stavu, kdy se na ploše vyskytne dlaždice s číslem 2048. Hra v tuto chvíli ale končit nemusí, můžete hrát dál a pokusit se o sestavení dlaždice s čísly 4096, 8192, atd. Navíc hra počítá i dosažené skóre.

Úlohy

  1. Princip sesypání. Ověřte si, že chápete, jak funguje sesypávání dlaždic a počítání skóre.
  2. Funkce pro sesypání. Naprogramujte funkci, která bude sesypání realizovat.
  3. Jeden krok hry. Naprogramujte funkci, která aktuální stav hrací plochy převede na následující stav s ohledem na povel hráče.
  4. Simulátor hry. Naprogramujte simulátor, v němž bude možné hru hrát.
  5. Herní strategie. Naprogramujte funkci, která bude umět hru co nejlépe hrát, tj. v závislosti na aktuálním stavu hrací desky poskytne nejlepší tah.

Hodnocení

Za vyřešení všech úloh 2048 je možné získat dohromady až 30 bodů. Ty jsou rozděleny k jednotlivým podúlohám takto:

Úloha Body Jak se hodnotí
Princip 5 Všechny testové konfigurace správně sesypané. (0 nebo 5 bodů)
Sesypání 5 Funkce funguje správně na všech testových konfiguracích. (0 nebo 5 bodů)
Krok 5 Funkce funguje správně na všech testových konfiguracích. (0 nebo 5 bodů)
Simulátor 5 Funkce správně řídí hru. (0 nebo 5 bodů)
Strategie 10 Body v závislosti na pořadí strategie v žebříčku. (0 až 10 bodů)
 
ulohy/2048/start.txt · Last modified: 2022/11/01 13:43 by xposik