====== Arimaa ====== Vaším úkolem bude naprogramovat variantu hry šachy - Arimaa. Tato hra je vzhledem k pravidlům a množství přípustných tahů a jejich variant náročná pro umělou inteligenci. Vaše práce má obsahovat tyto funkčnosti: * Aplikace všech pravidel. Ty nejzákladnější jsou (není to úplný výčet): * Je možné použít 1 až 4 tahy * Tlačení figurek protivníka * Tažení figurek protivníka * Mizení figurek na polích "past" * Zmražení figurky (v závislosti na síle figurky) * Ukončení hry při přechodu králíka přes celé pole * Ukončení hry při zablokování jednoho hráče * Každý hráč na začátku hry může figurky rozestavit libovolně dle pravidel * Implementace hracích hodin - kolik času každý jeden hráč strávil přemýšlením * Je možné hru uložit, nahrát a odkrokovat po jednotlivých tazích. K tomu bude použita oficiální [[http://arimaa.com/arimaa/learn/notation.html|Arima notace]] * Je možné hrát uživatel proti uživateli na stejném počítači * Je možné hrát hru proti počítači. Zde se nepředpokládá nějaká sofistikovaná umělá inteligence. Naprosto postačuje generátor 1 až 4 náhodných příspustných tahů. Do těchto tahů patří i tažení a tlačení soupeřových figurek. ===== Pravidla a odkazy ===== * [[http://arimaa.com/arimaa/| Arima homepage]] * [[https://en.wikibooks.org/wiki/Arimaa| Arima na Wikibooks]] * [[https://cs.wikipedia.org/wiki/Arimaa| Arima základní pravidla - CZ]] * [[https://en.wikipedia.org/wiki/Arimaa| Arima základní pravidla - EN | ]] * [[https://www.youtube.com/watch?v=7_nGecwCDnk| Arima - pravidla na Youtube - EN]] ===== Doporučení ===== * Už od objektového návrhu se doporučuje využít návrhový vzor MVC (Model ViewController) např.: [[https://www.guru99.com/mvc-tutorial.html]].