Gymnázium, Praha 6, Arabská 16 předmět programování, vyučující Tomáš Obdržálek Piškvorky ročníkový projekt Kristofer Filip, 1.E Květen 2014 Stránka 1
Prohlášení Prohlašuji, že jsem jediným autorem tohoto projektu, všechny citace jsou řádně označené a všechna použitá literatura a další zdroje jsou v práci uvedené. Tímto dle zákona 121/2000 Sb. (tzv. Autorský zákon) ve znění pozdějších předpisů uděluji bezúplatně škole Gymnázium, Praha 6, Arabská 14 oprávnění k výkonu práva na rozmnožování díla ( 13) a práva na sdělování díla veřejnosti ( 18) na dobu časově neomezenou a bez omezení územního rozsahu. Datum: Podpis: Stránka 2
Anotace Mým cílem tento školní rok bylo vytvořit program, který vytvoří herní pole o velikosti 11x11, na kterém se bude za pomocí klikání myší hrát hra Piškvorky. Projekt byl naprogramován v jazyce C# ve vývojovém prostředí Visual Studio, vývoj nebyl náročný. Program se tvořil velmi jednoduše a hru se mi povedlo udělat v celku úspěšně a v grafickém rozhraní. Je možné jí hrát pouze ve dvou lidech u jednoho počítače. Není zde možnost single-playeru ani síťového multi-playeru. Annotation My goal this school year was to create a game with a field sized of 11x11, where users can play the game called Tic-Tac-Toe. The project was not very complicated and I wrote it in C# using Visual Studio as the development environment. The game has a graphical user interface where users can play the game by clicking on the buttons to place their marks. The game s biggest limitation currently is that it s playable only by two players at one computer as there s no online multi-player option or AI player to play against. Stránka 3
1. Piškvorky: Úvod a Historie: Mým cílem tento školní rok bylo vytvořit hru, kterou určitě všichni známe, a to "Piškvorky". Mé rozhodnutí vytvořit právě "Piškvorky" bylo velmi jednoduché, protože jsem si u této hry užil spoustu zábavy nejen s přáteli, ale i s rodinou. Hru je možné hrát kdykoliv a kdekoliv. Zapotřebí je mít pouze dvě tužky a papír, i proto jsem se rozhodl vytvořit právě tuto hru v počítačovém světě. tato triviální hra vznikla v čínském městě zhruba 2000 let před Kristem. Pravidla: Hra spočívá v tom, že soupeří proti sobě 2 hráči na čtverečkovaném hracím poli o velikosti 11x11 a snaží se naskládat 5 svých symbolů za sebe v jakékoliv směru. První hráč má kolečka "O" a druhý má křížky "X". Začínající hráč položí svůj symbol a poté je na tahu druhý hráč. Takto se střídají dokud nevzejde jasný vítěz. Ani z jeden hráčů nemůže pokládat své symboly na již položené symboly, to nutí hráče se navzájem blokovat, hnát do kouta a vymýšlet různé taktiky jak zvítězit. Hru jsem tvořil pro počítače v programu Visual Studio. Není zde naprogramována umělá inteligence, tudíž jsou ke hře potřeba 2 hráči a 1 počítač. Zde vidíte herní pole a výherní postavení koleček "O" : Stránka 4
2. Zadání: Piškvorky Název: Piškvorky Jméno: Kristofer Filip Třída: 1.E Notace: Tahová hra pro 2 hráče. Pole o velikosti 11x11. Hráči hrají proti sobě. Oba dostanou jeden ze 2 symbolů a snaží se jich postavit 5 za sebou. Textové rozhraní ; [pokusím se o grafické]. Nemožnost single playeru. Vypracováno v programu Visual Studio. 3. Microsoft Visual Studio a C# Microsoft Visual Studio je vývojové prostředí od Microsoft, které pracuje s grafickým a konzolovým rozhraním a většinou programovacích jazyků. Bohužel nejsou všechny obsaženy a proto je potřeba je dodatečně nainstalovat. Použil jsem obsažený jazyk C#, který je kombinací Javy a C++. Poznávání bylo poměrně jednoduché, vzhledem k podobnosti s Javou. Nepozoroval jsem zásadní rozdíly, a proto jsem si vystačil pouze s "for" cykly a podmínkami. Stránka 5
4. Samotná práce 4.1 Začátek: Mým cílem bylo vytvořit funkční program pro hraní piškvorek. Zkoušel jsem zhruba tři možnosti osti jak program vytvořit, ale zvítězil programovací jazyk C#. Bez větších komplikací jsem program vytvořil na cca. 270 řádků za pomocí základních algoritmů. Celý program byl tvořen v Microsoft Visual Studio. Práci mi ulehčily přednastavené volby pod tlačítky, tky, se kterými se velice jednoduše pracovalo. S vývojovým prostředím jsem se poměrně rychle sžil. Jakmile jsem pochopil funkce programu bylo otázkou zhruba hodiny čistého času vytvořit funkční "Piškvorky". Celý program se skládá z několika metod, hlavně podmínek a cyklů. 4.2 Vypracování: Samotné vypracování bylo poměrně jednoduché. Bylo zapotřebí nápad, poté přemýšlení a následná realizace. Na internetu jsem si vyhledal metodu jak nastavit tlačítka: Poté jsem nastavil mnou požadované parametry, pár chvil testování a následně vytvoření dvou charakterů: "X" a "O". Nastavil jsem požadovaný "Event"(jedná"(jedná se o nastavitelnou vlastnost tlačítka), a to kliknutí, aby se mi po kliknutí tiskly požadované symboly na daná tlačítka. Stránka 6
Poté jsem došel do bodu kdy bylo zapotřebí zajistit výhru určitého hráče. Vymyslel jsem čtyři metody, které obsahovaly dva cykly, šest podmínek a hlavně paramtery "Vyhra" a "Vyhra1". Tyto parametry registrovaly počet stejných symbolů v řadě za sebou, ze všech směrů a to: vertikálně,horizontálně a křížem na oba směry. Na každý směr byla určena jedna metoda. Zde vidíte příklad metody na horizontální ověření: Poté stačilo upozornit na vítěze a vytvořit tlačítko pro restartování hry, což je pouze opětovné zavolání metody, která daná tlačítka tiskal prvně. Konečnou podobu programu je možné si prohlédnout v Anotaci. Stránka 7
4.3 Instalace: Program není potřeba instalovat, je třeba mít nainstalované.net Microsoft Framework. Poté je program jednoduše spustitelný přes ikonu "piskvorky 3.exe" 4.4 Závěr: Tvorba programu mne velice bavila a poměrně dost jsem toho naučil. Byl to můj první výtvor, který mi rozhodně udělal radost a jakmile jsem viděl, že program funguje, jeho tvorba jednoznačně nebyla zbytečná. Seznámil jsem se novými věcmi, získal nové zkušenosti, poznal jsem nový programovací jazyk a jeho vývojový nástroj. Jakmile jsem byl s tvorbou hotov začal jsem přemýšlet o tvorbě něčeho nového. Téma pro nový projekt, které mne zaujalo, byly "šachy". Vytvoření bude jistě složitější, ale je to můj další cíl a jsem velice zvědav, zda se mi povede program dokončit. Stránka 8