Piškvorky

Seznam článků

Video-tutoriál podrobně popisující postup, jak v .NET C# Windows forms naprogramovat klasickou hru Piškvorky, včetně umělé inteligence protihráče a základních možností nastavení.

Části

  1. Mřížka (10:07)
  2. Hrací pole v paměti (5:11)
  3. Hrací kameny (11:36)
  4. Separace výpočtu (5:28)
  5. Počet v řadě (7:51)
  6. Výhra (11:46)
  7. Remíza (3:11)
    Počet řad - matematický dodatek (8:55)
  8. Hodnota políček (7:55)
  9. Umělá inteligence (5:33)
  10. Poslední tah (4:41)
  11. Vítězná řada (9:58)
  12. Start hry (4:56)
  13. Nastavení vzhledu - design (8:30)
  14. Nastavení vzhledu - kód (5:23)
  15. Nastavení hry ()
  16. Ukládání nastaveni (10:24)
  17. O programu (3:13)

1 - Mřížka

V 1. díle vytvoříme komponentu, která bude základem pro hrací plochu a zobrazovat mřížku. Video-tutoriál podrobně popisující postup, jak v .NET C# Windows forms naprogramovat klasickou hru Piškvorky.


2 - Hrací pole v paměti

Ve 2. díle připravíme dvourozměrné pole, ve kterém se do paměti bude ukládat obsah jednotlivých herních políček. Video-tutoriál podrobně popisující postup, jak v .NET C# Windows forms naprogramovat klasickou hru Piškvorky.


3 - Hrací kameny

Ve 3. díle vytvoříme a zprovozníme metody pro vykreslování a umísťování hracích kamenů (křížků a koleček) na hrací plochu.


4 - Separace výpočtu

Ve 4. díle extrahujeme metody pro výpočty do zvláštní třídy, aby byl kód přehlednější a následná práce s ním snazší.


5 - Počet v řadě

Ve 4. díle vytvoříme pomocné výčty (enum) a připravíme strukturovanou proměnnou pro evidenci kolik je na kterém políčku v kterém směru kterých hracích kamenů v započítatelném dosahu.


6 - Výhra

V 6. díle sestavíme a zprovozníme metodu, která bude detekovat, jestli během hry nedošlo k výhře některého z hráčů. Pokud ano, hra bude ukončena a výhra oznámena.


7 - Remíza

V 7. díle rozšíříme hru o detekci remízy, tj. identifikaci stavu, od kterého již žádný z hráčů nemůže vyhrát a to dříve, než je zaplněno celé pole. Způsob tohoto výpočtu bude vysvětlen v následujícím matematickém dodatku.

 

Počet řad - matematický dodatek

Matematický dodatek k 7. dílu, který formou prezentace názorně vysvětluje odvození vzorce pro výpočet počtu možných vítězných řad na čtvercové hrací ploše ve hře piškvorky.


8 - Hodnota políček

V 8. části připravíme datové položky pro výpočty hodnot jednotlivých políček pro hráče a metodu, která do nich bude tyto hodnoty po každém tahu vypočítávat. Na jejich základě pak bude možné v každém tahu určit, které ze zbývajících políček je pro každého z hráčů nejcenější.


9 - Umělá inteligence

V 9. díle konečně uvedeme do provozu umělou inteligenci protihráče (počítače). Ten prozatím bude hrát standardně za "kolečko" a uživatel za "křížek". Od této chvíle tedy bude možné si proti počítači zahrát plnohodnotnou hru, přičemž porazit jej nebude vůbec snadné!


10 - Poslední tah

V 10. části přidáme funkci zvýrazňování (podbarvení) posledního zabraného políčka, aby byl protihráčův tah vždy zřetelně patrný.


11 - Vítězná řada

V 11. části přidáme funkci zvýrazňování (podbarvení) celé vítězné řady (pěti hracích kamenů), aby byla hned na první pohled identifikovatelná.


12 - Start hry

Ve 12. díle přidáme funkci pro znovuzahájení hry. Nebude tak již nezbytné pro novou hru program vypínat a znovu zapínat, ale bude stačit kliknout na příslušnou položku v menu.


13 - Nastavení vzhledu - design

Ve 13. díle vytvoříme design formuláře pro nastavení vzhledu hry. Pro výběr barvy vytvoříme vlastní uživatelskou komponentu, kterou pak opakovaně použijeme.


14 - Nastavení vzhledu - kód

Ve 14. díle do formuláře pro nastavení vzhledu hry přidáme kód pro zpřístupnění hodnot nastavovaných vlastností ostatním třídám. Tyto vlastnosti pak použijeme pro předávání hodnot mezi formulářem pro nastavení a herní komponentou PlayBoard.


15 - Nastavení hry

V 15. díle přidáme další formulář pro nastavení, tentokrát vlastností hry. Bude tak třeba možné zvolit, chcete-li hrát proti počítači nebo proti jinému hráči.


16 - Ukládání nastaveni

V 16. díle napíšeme kód, který bude veškeré nastavení ukládat do souboru a při příštím spuštění jej znovu načte.


17 - O programu

V posledním 17. díle doladíme program pro distribuci - opatříme jej ikonou a přidáme informace o programu a jeho autorovi.

on 10 listopad 2008