Hra "Safety matches"*
Vaším úkolem je napsat program, který umožní hrát hru zápalky pro
dva hráče. Hraje se na hracím poli, které je tvořeno čtvercovou sítí
N × N, kde N je celé číslo
od 2 do 10. Oba hráči střídavě přikládají do stran čtvercové sítě
zápalky. Hráč, který přiloží čtvrtou zápalku do čtverce, získává bod a
pokračuje v tahu (tj. pokládá další zápalku). Získané
čtverce se pro každého hráče barevně označují. Hra končí
v okamžiku, kdy je celé hrací pole vyplněné zápalkami.
V programu postupně implementujte následující funkce. Funkce
s vyšším číslem bude hodnocena pouze v případě, že budou
implementovány i všechny předcházející funkce s nižším
číslem.
- Zobrazení hracího pole. - celkem 3
- zobrazení textově - 1
- zobrazení graficky - 3
- Položení zápalky hráčem pomocí myši. - celkem 12
- položení zápalky myší lze - 4
- funguje to uživatelsky příjemně a dobře - 4
- sirky vypadají jako sirky - 2
- je hromádka sirek a sirky se tahají z hromádky - 2
- Položení zápalky pomocí klávesnice. Ovládání pomocí myši
i klávesnice je dostupné současně. - celkem 6
- lze ovládat klávesnicí - 3
- lze ovládat klávesnicí i myší - 3
- Získání bodu po položení čtvrté zápalky do čtverce. - celkem 6
- čtverec se označí - 3
- zvýší se skóre - 3
- Průběžné zobrazování skóre hráčů. - celkem 3
- je zobrazeno skóre obou hráčů - 1
- jsou barevně odlišené - 1
- u skóre jsou jména hráčů - 1
- Tabulka top-ten deseti nejúspěšnějších hráčů. - celkem 6
- tabulka existuje - 2
- tabulka se ukládá na disk (funguje přes několik spuštění) - 4
- Hráč si může vyžádat nápovědu od programu – v tomto případě
nejvýhodnější tah vybere a provede automaticky počítač. - celkem 12
- počítač vybere tah - 9
- tah se provede graficky (přenosem sirky) - 3
- Na začátku hry lze zvolit hru proti počítači místo proti reálnému
hráči. Program nyní pokládá zápalky místo druhého hráče a snaží se
dosáhnout co nejlepšího skóre. - celkem 6
- počítač hraje - 5
- tah se provádí graficky - 1
- Program je možné spustit v demo režimu, kdy hraje počítač proti
počítači. V průběhu dema lze měnit velikost časové prodlevy mezi
tahy. - celkem 6
- demo funguje (běží jedna rychlost nebo klávesnicí řízené) - 3
- lze měnit rychlost - 2
- běží graficky (přesunují se sirky z hromádky) - 1
Efektivita
- Celkem 30
- mapování hracího pole - elegantní datová reprezentace (pole) -
5
- bez nevhodných postupů - 5
- návrh tahu - existence dobré strategie - max. 15
- možnost nastavit úroveň - 5
- velké nevhodné postupy - odečte se max. 10 bodů
Dokumentace
- Celkem 10
- Vhodně zvolené názvy proměnných - 2
- Přehledně odsazovaný zdrojový text - 2
- Komentáře ve vhodné míře - 3
- Uživatelská dokumentace a nápověda v programu - 3
Poznámky
Všechny zdrojové kódy vašeho programu pravidelně ukládejte do
určeného adresáře. Program a všechny jeho moduly musí jako první a
druhé písmeno, případně jako druhé a třetí obsahovat vaše startovní
číslo. Na začátek programu napište do komentáře vaše startovní číslo a
seznam všech použitých modulů.
* též bezpečnostní zápalky, lidově řečeno sirky