====== Reversi I ======
===== Program =====
* Dotazy a odpovědi
* Testík
* Zadání úlohy Reversi a diskuse
* Hádanka
* Programovací úlohy
===== Dotazy a odpovědi =====
* Kolik lidí implementovalo funkci ''line_size(r,c,data)'' pro počítání velikosti oblasti v řádku?
* Napadlo někoho univerzální řešení pro hledání v libovolném směru?
===== Testík =====
[[courses:b4b33rph:internal:kratke_testiky:list_2d_find|zadání]]
===== Zadání úlohy Reversi =====
* Zadání úlohy Reversi naleznete [[courses:b4b33rph:cviceni:reversi:start|zde]]
* Vyjasnění pravidel Reversi a validnosti tahů
* Predstavení testování korektnosti tahů pomocí datasetu [[courses:b4b33rph:cviceni:reversi:start#instrukce_pro_ulohu_reversi|zde]]
===== Hádanka =====
> {{page>courses:b4b33rph:internal:puzzles#cviceni_5}}
===== Programovací úlohy =====
* Naimplementujte funkci ''line_column_size(r , c, data)'' rozšířením [[courses:b4b33rph:cviceni:program_po_tydnech:tyden_04#domaci_ukol|domácího úkolu]] tak, aby funkce hledala velikost oblasti nejen v řádku, ale také ve sloupci.
* Snažte se o co nejobecnější prohledávání v daném směru.
* Pakliže máte hotovou funkci ''line_column_size(r , c, data)'', zkuste přidat hledání po diagonálách jako například funkce ''region_size(r , c, data)''.
* Jak souvisí tato funkce s hrou reversi a hledáním validních tahů?
=== Příklad line_column_size ===
r=5
c=5
data = [
[0, 1, 1, 1, 1, 0, 0, 0 ] ,
[1, 1, 0, 1, 0, 1, 1, 1 ] ,
[0, 1, 1, 0, 0, 1, 0, 1 ] ,
[1, 1, 1, 0, 1, 1, 0, 1 ] ,
[0, 1, 0, 0, 0, 0, 1, 1 ] ,
[1, 0, 1, 1, 0, 0, 0, 0 ] ,
[0, 1, 1, 1, 0, 1, 1, 1 ] ,
[1, 1, 0, 1, 0, 1, 1, 1 ]]
reg_size = line_column_size(r , c, data)
print(reg_size)
5
=== Příklad region_size ===
r=2
c=6
data = [
[1, 0, 0, 0, 1, 1, 0, 0 ] ,
[1, 1, 1, 0, 0, 1, 1, 1 ] ,
[0, 1, 0, 0, 1, 1, 1, 1 ] ,
[0, 1, 0, 1, 0, 1, 1, 1 ] ,
[0, 1, 1, 0, 0, 0, 1, 1 ] ,
[1, 0, 0, 0, 1, 1, 0, 0 ] ,
[0, 0, 1, 0, 1, 1, 1, 0 ] ,
[0, 0, 1, 0, 1, 0, 1, 0 ]]
reg_size = region_size(r , c, data)
print(reg_size)
12
====== Domácí úkol ======
* Dodělat programovací úlohy z dnešního cvičení.
* Začít pracovat na řešení úlohy reversi, tedy na hráči, který umí hrát validně.