Table of Contents

2048: Úloha 3 - Jeden krok hry

< Předchozí krok | Hlavní stránka | Další krok >

Cíl

V předchozí úloze jste vytvořili funkci, která umí sesypat jeden řádek hracího pole k levému okraji. Cílem této úlohy je vytvořit funkci, která sesype celé hrací pole (tj. všechny 4 řádky nebo sloupce) k určenému okraji (levému, pravému, hornímu, nebo dolnímu).

Prerekvizity Funkce numbers_to_left() pro sesypání řádku k levému okraji.
Náročnost přemýšlení Nízká
Náročnost programování Střední (2D pole, for-cykly, podmínky)

Příprava

Udělejte si záložní kopii vašeho modulu simulator.py!

Zadání

  1. V modulu simulator.py doplňte funkci move_tiles podle níže uvedených specifikací.
  2. Spustíte-li modul tests_step.py, bude postupně vaši funkci testovat na několika předdefinovaných konfiguracích hrací plochy.
  3. Soubor simulator.py s vámi doplněným tělem funkce odešlete do odevzdávacího systému.

Specifikace

Funkce move_tiles() musí splňovat následující kontrakt:

Vstupy in_board Seznam 4 seznamů 4 číslic reprezentující výchozí konfiguraci hrací plochy.
direction Směr, kam se mají dlaždice sesypat. Jeden z řetězců left, right, up, down.
Výstupy out_board Seznam 4 seznamů 4 čísel reprezentující výslednou konfiguraci hrací plochy po sesypání v daném směru
score Číslo reprezentující přírustek skóre za tento tah, tj. celkové skóre za sesypání 4 řádků, nebo 4 sloupců.

Důležité: move_tiles() implementujte jako čistou funkci!

Doporučení