Zadání projektu (2010/11)
Důležitá poznámka: Zadání definuje podstatné vlastnosti aplikace, které musí být splněny. Předpokládá se, že detaily řešení si doplní řešitelské týmy.
Navrhněte a implementujte jednoduchou hru podobnou "Člověče nezlob se".
Modifikace hry
- hrací plán je tvořen políčky s obrázky, kostka je šestistranná, na každé straně je obrázek
- při hodu kostkou se figurka přesune na nejbližší políčko s obrázkem, který padl
- jeden obrázek hraje roli "šestky", tj. je možné nasadit figurku do hry, hod kostkou se opakuje
Základní požadavky na návrh a funkce aplikace
- při startu hry se generuje hrací pole, lze parametrizovat
- počet hráčů (min 2)
- počet políček (tj. velikost hracího pole, min. 36 políček)
- při generování pole se obsazení políček obrázky generuje náhodně, počet jednotlivých obrázků však musí být rovnoměrný (př. 60 políček, 6 obrázků, počet výskytů každého obrázku je 10)
- hráčem může být
- člověk
- počítač: implementujte různé rozhodovací mechanismy pro jeden tah
- tah se provede s náhodnou figurkou
- tah se provede s figurkou, která udělá největší skok
- preferuje/nepreferuje nasazení figurky
- preferuje/nepreferuje skok do "domečku"
- rozhodovací mechanismus lze kdykoliv v průběhu hry měnit (ručně nebo automaticky po N hodech)
- je možné hrát lokálně
- jeden klient, hraje člověk proti počítači
- stav hry lze kdykoliv uložit a znovu nahrát
- je možné hrát po síti
- navrhněte a implementujte jednoduchý server, který autentizuje uživatele (login, heslo) a zajišťuje spojení mezi klienty
- pokud se ukládá/načítá síťová hra, je uložena na serveru
- grafické uživatelské rozhraní klienta musí obsahovat
- menu
- zobrazení aktuálních hráčů (nickname, login), pokud hraje počítač, zobrazuje se jeho aktuální režim rozhodování
- konfigurace aplikace; konfigurace bude uložena v konfiguračním souboru ve formátu XML (načte se při startu, automaticky uloží při změně)
- jednoduchý systém nápovědy (HELP); jméno (cesta k) souboru s nápovědou je uloženo v konfiguraci programu a při instalaci programu bude správně nastaveno. V projektu je důležité technické zvládnutí systému nápovědy, nemusíte psát téměř žádný obsah nápovědy (kvalita textů se nebude hodnotit).
- je možné měnit grafickou podobu (jiné obrázky, barevná paleta apod.); implementujte alespoň 2, aktuální nastavení je uloženo v konfiguračním souboru
Součást odevzdání
- připravte jednu uloženou hru lokální a jednu uloženou hru síťovou; při otevření příslušného menu se nabídne implicitní úložiště, které obsahuje zmiňované uložené hry
Minimum pro získání zápočtu
- návrh a implementace všech základních požadavků
Doporučení
- zamyslete se nad použitím vhodných návrhových vzorů
- zamyslete se nad možností ukládat podobu grafických módů v externím souboru
- použijte vhodnou knihovnu pro zpracování XML dokumentů (C++: Qt, Java: http://dom4j.org/ apod.)
- na prohlížení nápovědy můžete zavolat externí prohlížeč (nemusíte ho programovat)
Radek Kočí (koci AT fit.vutbr.cz)
Link to this Page
- . last edited on 18 June 2012 at 11:23 am by localhost