IB111 - Domácí úloha č. 2 (skupina 7) termín odevzdání: do 19. října 2014, 23:59 Řešení napište do souboru s názvem .py a vložte jej do odevzdávárny Skupina 07/Domácí úkol č. 2. Zadání 1. příklad (max. 15 b.) Vytvořte simulátor následující hry: Máme dán hrací plán, který je tvořen N za sebou jdoucími políčky (označené čísly 0 až (N − 1)). Minimální počet políček je N = 3. Hrajeme s figurkou, která se na začátku hry nachází na políčku 0. Hážeme kostkou o K stěnách označených čísly 1 až K, kde K ≥ 4. Jestliže padne hodnota K, tak se háže kostkou ještě jednou (v takovém případě pro následující tah platí součet všech těchto čísel, tj. K + K + · · · + K + A, kde 1 ≤ A ≤ K − 1). Figurka se poté posune o příslušný počet polí ve směru k políčku označeném (N − 1). Hra končí, když dorazíme na poslední pole (označené číslem (N − 1)). Je nutné se trefit přesně na poslední pole. Pokud v některém tahu hodíte více než zbývá do cíle, tak figurka bude pokračovat tak, jako kdyby první políčko hracího plánu navazovalo na poslední. Příklad: Hrací plán má 10 políček (označené 0 až 9) a figurka je na políčku 7. Hodím 5. Figurka se tedy přesune na políčko označené číslem 2. Příklad možného běhu hry (a výstupu programu) je uveden na konci zadání. Tento simulátor implementujte jako funkci hra(N, K), která bude vracet počet tahů, které se uskutečnily, než se figurka dostala na cílové políčko (pokud hodíte K + K + · · · + K + A, kde 1 ≤ A ≤ K − 1, počítejte to jako jeden tah). Proveďte vizualizaci polohy figurky. Herní plán vykreslete jako řádek skládající 1 se z N symbolů, kde volné políčko bude reprezentováno tečkou a políčko aktuálně obsazené figurkou bude reprezentováno hvězdičkou. Tento řádek nejprve vykreslete pro počáteční stav (hvězdička na pozici nejvíce vlevo) a potom po každém tahu. Například pro N=10: Počáteční pozice: * . . . . . . . . . hodil jsem 2: . . * . . . . . . . atd. Cílová pozice: . . . . . . . . . * 2. příklad (max. 5b.) Napište funkci analyza(N, K, P), která vypočítá pro P běhů výše uvedené hry průměrný počet tahů hry na herním plánu o délce N a s kostkou o K stranách (K ≥ 4). Pomocí této funkce určete průměrný počet tahů hry pro herní plány o délce 50 až 100 s kostkou o 10 stěnách (k řešení přiložte výpisy hodnot). Počet běhů hry nastavte na P = 5000. Tzn. nastavím N=50, provedu 5000-krát hru a vypíši průměrný počet tahů, potom nastavím N=51, provedu 5000-krát hru, vypíši průměrný počet tahů, atd. Pro neplatné parametry funkcí (např. N = -2) vypište příslušná chybová hlášení. Ukázka hry (neobsahuje vizualizaci) >>> hra(20, 6) Jsem na pozici 0. V 1. tahu padlo 5. Jsem na pozici 5. V 2. tahu padlo 6, 5. Jsem na pozici 16. V 3. tahu padlo 4. Jsem na pozici 0. V 4. tahu padlo 2. 2 Jsem na pozici 2. V 5. tahu padlo 7. Jsem na pozici 9. V 6. tahu padlo 6, 3. Jsem na pozici 17. V 7. tahu padlo 6, 6, 2. Jsem na pozici 11. V 8. tahu padlo 5. Jsem na pozici 16. V 9. tahu padlo 2. Jsem na pozici 18. V 10. tahu padlo 4. Jsem na pozici 2. V 11. tahu padlo 6, 3. Jsem na pozici 11. V 12. tahu padlo 5. Jsem na pozici 16. V 13. tahu padlo 1. Jsem na pozici 17. V 14. tahu padlo 2. Jsem na pozici 19. Celkovy pocet tahu v teto hre byl 14. 3