====== Reversi I ====== ===== Program ===== * Dotazy a odpovědi * Krátký programovací testík * Zadání úlohy Reversi a diskuze * Hádanka * Programovací úlohy /* > {{page>courses:b4b33rph:internal:formulare_gdrive}} */ ===== 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ů * Představení testování korektnosti tahů pomocí datasetu [[courses:b4b33rph:cviceni:reversi:start#instrukce_pro_ulohu_reversi|zde]] ===== Hádanka ===== /* [[https://forms.gle/kFqxMq54p7hjByPu6|101]] [[https://forms.gle/3nLTaoxHoVa3zQVk7|102]] [[https://forms.gle/QaZvFUtncp1Ne1CH7|103]] [[https://forms.gle/vzsGD3QyLgcqMk1g7|104]] [[https://forms.gle/oMqTMgeh4ao4uiwL8|105]] [[https://forms.gle/uyin2XUR2RuBFCna6|106]] [[https://forms.gle/MuffuZrZW4u4wWx8A|107]] [[https://forms.gle/4kfZisGQAbhkvdvHA|108]] [[https://forms.gle/yARdGc2Gxtt5qAudA|109]] */ > {{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ě.