====== 2048: Úloha 2 - Funkce pro sesypání ====== [[ulohy:2048:1-princip-sesypani|< Předchozí krok]] | [[2014_15:2048:start|Hlavní stránka]] | Další krok > ===== Cíl ===== V [[ulohy:2048:1-princip-sesypani|minulé úloze]] jste si ověřili, že chápete dobře pravidla, kterými se ve hře 2048 řídí sesypání dlaždic k jedné z hran hrací plochy. Cílem této úlohy je naprogramovat funkci, který bude umět realizovat sesypání 1 řádku k levému okraji. ^ Prerekvizity | [[ulohy:2048:1-princip-sesypani|Princip sesypání]] | ^ Náročnost přemýšlení | Střední | ^ Náročnost programování | Nízká (pole, for-cykly, podmínky) | ===== Příprava ===== * Úloha předpokládá, že ji budete řešit v Pythonu. Nainstalujte si Python, seznamte se se [[http://howto.py.cz/cap08.htm|seznamy]], [[http://howto.py.cz/cap08.htm#13|for-cykly]] a [[http://howto.py.cz/cap04.htm|podmínkami]] v Pythonu. * Stáhněte si archiv s podklady pro tuto úlohu a rozbalte jej do svého pracovního adresáře. **K archivu máte přístup, pokud jste úspěšně vyřešili první část úlohy. Ve výstupu automatického hodnocení byste měli mít odkaz na zmíněný archiv.** ===== Zadání ===== - V modulu ''simulator.py'' doplňte funkci ''numbers_to_left'' podle níže uvedených specifikací. - Spustíte-li modul ''tests.py'', bude procházet soubor s konfiguracemi a správnými výsledky a postupně na těchto konfiguracích bude vaši funkci testovat. **Poznámka:** Do textového souboru si samozřejmě můžete přidat vlastní konfigurace řádků a očekávané výsledky, pokud chcete svou funkci ověřit na dalších datech. Vytvořit si vlastní testovací příklady by pro vás v tuto chvíli již neměl být problém. - Soubor ''simulator.py'' s vámi doplněným tělem funkce odešlete do [[https://hapky.fel.cvut.cz/sou/assignments.php|odevzdávacího systému]]. ===== Specifikace ===== ^ Vstup | ''in_row'' | Seznam 4 číslic reprezentující výchozí konfiguraci řádku. | ^ Výstup | ''out_row, score'' | Dvojice hodnot, kde první z nich je seznam 4 čísel reprezentující výslednou konfiguraci řádku po sesypání doleva, druhá z nich je číslo reprezentující přírustek skóre za sesypání tohoto řádku. |