Warning
This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

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

Zadání úlohy Reversi

  • Zadání úlohy Reversi naleznete zde
  • Vyjasnění pravidel Reversi a validnosti tahů
  • Predstavení testování korektnosti tahů pomocí datasetu zde

Hádanka

Programovací úlohy

  • Naimplementujte funkci line_column_size(r , c, data) rozšířením 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ě.
courses/b4b33rph/cviceni/program_po_tydnech/tyden_05.txt · Last modified: 2017/11/01 15:23 by xposik