Seminární skupiny 03, 04, 05 a 06 - cvičící J. Plhák

Týden 4 - Seminární skupiny 03, 04, 05 a 06

  • http://www.fi.muni.cz/IB111/sbirka/04-nahodna_cisla.html
  • Příklady:
    • 4.1.1. Šestiboká kostka
    • 4.1.2. Dokud padá sudé číslo
    • 4.1.3. Statistiky
    • 4.2.1. Opilec na cestě domů
    • 4.2.2. Analýza opilce
    • Bonus:
      • 4.2.3. Hledač pokladů - 4.2.8. Náhodné pexeso
Domácí úkol - toto zadání platí pouze pro seminární skupiny 03, 04, 05 a 06 (cvičící Jaromír Plhák)
EDIT: 17. 10. 2016 - 9:55

Člověče nezlob se​
  • Úkol 1: Vytvořte simulátor zjednodušené hry "Člověče nezlob se"
  • Úkol 2: Vytvořte funkci, který analyzuje jaká je průměrná délka (vrátí typ float) hry pro zadaný počet polí a počet her.
  • Úkol 3: Pomocí funkce z úkolu 2 zjistěte průměrné délky her pro plány o velikostech 1-50 (do řešení přiložte/zkopírujte výpis zjištěné délky vypisujte jednu po druhé pro zadanou velikost).
Pravidla
  • Hraje se na hracím plánu o n polích.
  • Figurka začíná na jedné straně hracího plánu na pozici 1.
  • Háže se kostkou (1-6)
  • Když padne 6, hází se znovu (i opakovaně)
  • Pokud padne 5, hází hráč ještě jednou (ale již nelze vícekrát, i kdyby padlo 5 nebo 6).
  • Figurka se posunuje o součet hodnot z kostek, zůstává stát ocitla-li by se za cílem.
  • Hra končí když figurka dorazí na poslední pole.

Poznámky:

  • Při délce hracího plánu < 1 skončete funkci a vypište nějakou smysluplnou hlášku.
  • Figurka se posunuje buď o celkový součet hodů na kostkách, nebo vůbec (v situacích, kdy by přešla domeček).
Kostra:
from random import randint, random

def game(length, output=True):
    pass

def game_analysis(length, count):
    pass

def game_average_length(count):
    pass

Ukázkový výpis programu:
>>> game(35)
1. round: 3 -> New position: 4
2. round: 4 -> New position: 8
3. round: 6 6 1 -> New position: 21
4. round: 5 6 -> New position: 32
5. round: 4 -> New position: 32
6.
round: 3 -> New position: 35
Game ended in 6. round.
>>> game_average_length(20):
Plan with length: 1  ->  0.0
Plan with length: 2  ->  6.35
Plan with length: 3  ->  3.3
Plan with length: 4  ->  7.45
Plan with length: 5  ->  6.05
Plan with length: 6  ->  8.3
Plan with length: 7  ->  7.95
Plan with length: 8  ->  6.15
Plan with length: 9  ->  6.95
Plan with length: 10  ->  6.1
Plan with length: 11  ->  5.95
Plan with length: 12  ->  8.7
Plan with length: 13  ->  8.3
...


Odevzdávání:
  • Nezapomeňte zkontrolovat kód pomocí pep8
  • Odevzdejte
    • Jeden .py soubor
    • Do odevzdávárny v ISu - zvolte svouji skupinu a využijte složku "Úloha 2"
    • Do 20. 10. 2016 23:59