Alfa-beta algoritmus pro umělou inteligenci hry šachy
|
|
- Ondřej Beránek
- před 9 lety
- Počet zobrazení:
Transkript
1 České vysoké učení technické v Praze Fakulta elektrotechnická Bakalářská práce Alfa-beta algoritmus pro umělou inteligenci hry šachy Josef Suchý Vedoucí práce: Ing. Adam Sporka Studijní program: Elektrotechnika a informatika strukturovaný bakalářský Obor: Informatika a výpočetní technika Červen 2006
2 ii
3 iii
4 iv
5 Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám žádný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 sb., o právu autorské, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne v
6 vi
7 Abstract There are many computer programs implementing the game of chess with various lever of the artificial intelligence. The purpose of this work was to study the techniques of the artificial inteligence of the game of chess and make an own implementation of the game with artificial intelligence. The result is a program with graphics interface and an artificial intelligence at an intermediate level. Abstrakt Existuje mnoho počítačových programů pro hru šachy, které mají různou umělou inteligenci. Cílem této práce bylo prostudovat způsoby řešení umělé inteligence pro hru šachy a implementovat šachový program s umělou inteligencí pro tuto hru. Výsledkem je šachový program s grafickým uživatelským rozhraním a umělou inteligencí na úrovni středně zkušeného hráče. vii
8 viii
9 Obsah Seznam obrázků Seznam tabulek xi xiii 1 Úvod 1 2 Studie existujících programů a stanovení požadavků Existující programy Požadavky na program 4 3 Definice pojmů a používané algoritmy Naivní algoritmus Algoritmus MiniMax Algoritmus alfa-beta Redukční algoritmus 11 4 Realizace Použité vývojové prostředí Reprezentace šachovnice Potřebné funkce Návrh grafického rozhraní Načítání a ukládání hry 21 5 Zkoušení a testování programu Ladění Testování 26 6 Závěr 28 7 Seznam literatury 29 A Uživatelská příručka 31 B Obsah přiloženého CD 39 ix
10 x
11 Seznam obrázků Obr Strom hry pro naivní algoritmus 6 Obr Strom hry algoritmu MiniMax 8 Obr Strom hry pro alfa-beta algoritmus 10 Obr Příklad nalezených obrazců převzato z [5] 13 Obr Příklad přehrání hry 23 Obr Příklad pozice pro ladění 24 Obr. A.1 Hrací plocha 32 Obr. A.2 Pohyb pěšce 33 Obr. A.3 Pohyb věže 34 Obr. A.4 Pohyb jezdce 34 Obr. A.5 Pohyb střelce 35 Obr. A.6 Pohyb dámy 35 Obr. A.7 Pohyb krále 36 Obr. A.8 Malá rošáda 36 Obr. A.9 Velká rošáda 36 Obr. B.1 Obsah přiloženého CD 39 xi
12 xii
13 Seznam tabulek Tab Parametry nalezených obrazců z Obr Tab Reprezentace šachovnice maticí 8x8 15 Tab Reprezentace šachovnice maticí 10x12 16 Tab Znázornění indexace v matici 16x8 17 Tab Reprezentace šachovnice maticí 16x8 17 Tab Poziční hodnoty polí 19 Tab Příklad formátu souboru 23 Tab Výsledky testování 27 xiii
14 xiv
15 1. Úvod Již dlouhou dobu se lidé snaží vytvořit stroj, který by uměl hrát šachy. Ale nejen, aby zvládal pravidla a náhodně přemísťoval šachové kameny, ale aby byl schopen vyhrát a měl nějakou inteligenci. Tato inteligence by měla být dostatečná k tomu, aby dokázal porazit šachové mistry. Šachy jsou považovány za královskou hru a jsou výzvou pro počítačové programátory. Dějiny šachových strojů však nezačaly až ve dvacátém století. První pokus o počítačový stroj se objevil už v osmnáctém století. Nebyl to šachový stroj v pravém slova smyslu, ale vzbudil mimořádný dojem. Vůbec za první šachový stroj byl považován Kempelenův Turek. Což byl stroj, který měl podobu orientálně oblečeného muže sedícího před skříňkou. Tento stroj dokázal v naprosté většině her zvítězit a málokdy se stalo, že by někdo dokázal stroj porazit. V té době lidé věřili, že je stroj schopen hrát šachy a že má vlastní inteligenci. Tajemství stroje nebylo nikdy zveřejněno. Postupem času bylo zjištěno, že stroj neměl vlastní inteligenci, ale že byl ovládán nejlepšími šachovými mistry Evropy. Dalším pokusem o sestrojení šachového stroje byl Babageův analytický stroj, který měl původně počítat algoritmické tabulky. Řízení tohoto stroje mělo probíhat pomocí děrných štítků. Tento projekt se nezdařil, protože byl na tehdejší dobu velice rozsáhlý a nerealizovatelný. Ale některé vymyšlené strategické otázky, které si měl stroj pokládat v každé pozici, se používají dodnes. První skutečný šachový stroj byl Torresův automat. Nebyl to automat, který by dokázal sehrát celou šachovou hru, ale dokázal vyřešit jednoduchou šachovou koncovku. Vůbec první program, který vznikl vymyslel Alan Turing. Tento program přesně popisoval po sobě jdoucí instrukce, které se mají provádět. Ale v té době neexistoval počítač, který by tento algoritmus dokázal realizovat a tak prováděl Turing své výpočty ručně. V dnešní době už jsou počítače schopné prozkoumat miliony tahů dopředu a také jsou mnohem lepší algoritmy, které dokáží lépe posoudit výhodnost tahu. I když jsou už dnes vymyšlené programy na velice vyspělé úrovni stále se nachází mnoho lidí, kteří se snaží vymyslet program, který by uměl hrát šachy. 1
16 Proč se vlastně šachy těší takové oblibě u programátorů? Odpovědí je hned několik. Šachy mají ideální předpoklady, protože je zde dána pevná množina objektů (pole, kameny, tahy), mezi nimiž jsou pevně definované vztahy Šachy jsou z pohledu programátora dostatečně obtížné Pro úspěch nebo neúspěch existují jednoduchá kritéria Přínosem práce je seznámení se šachovými počítačovými programy, které existují. Prozkoumání některých postupů a algoritmů, které lze při realizaci umělé inteligence počítače použít. Navrhnutí vlastního grafického rozhraní a potřebných funkcí, aby program zvládal pravidla hry šachy a využití některých algoritmů pro realizaci umělé inteligence počítače. 2
17 2. Studie existujících programů a stanovení požadavků Pro stanovení požadavků vlastností a grafického rozhraní jsem se zabýval už existujícími programy a jejich vlastností jsem navrhl požadavky. 2.1 Existující programy Dnešní počítačové programy mají umělou inteligenci založenou na hrubé síle. To znamená, že každý počítačový program zkouší zahrát většinu možných pozic a takto zahrané pozice se snaží podle nějakých kritérií ohodnotit. Současné špičkové programy hrají na velmistrovské úrovni a některé poráží i světové hráče. Světovou jedničkou je program Shredder 8 [1], tento program už porazil řadu světových mistrů. Za ním následuje program Deep Fritz 8 [2], ten nemá takovou inteligenci jako Shredder, ale stejně dokázal porazit řadu mezinárodních mistrů. Toto jsou však komerční programy, které je nutno si zakoupit. Kromě těchto komerčních programů existuje po dlouhou dobu řada amatérských šachových programů. Jejich grafické možnosti a uživatelské přednosti nedosahují takových kvalit jako u komerčních programů, ale jejich úroveň hry porazí i mezinárodní hráče v šachu. Amatérské programy se původně vyvíjely stejným způsobem jako komerční programy. To znamená, že autor kromě umělé inteligence musel vytvořit i grafiku (šachovnici, figurky, ovládání) a mnoho dalších věcí. Postupem času se objevil systém Winboard [3], který už v sobě obsahoval základní prvky, jako je šachovnice, figurky, ovládání a další funkce mimo umělé inteligence. Tento systém zjednodušoval práci, protože autor nemusel vytvářet grafické prostředí a potřebné funkce a mohl se soustředit na vývoj samotné umělé inteligence. Nevýhodou takto vytvořených programů byla jejich podobnost a originalita spočívala jen v umělé inteligenci. Nakonec vznikla tzv. Aréna [4], která má jednu velkou výhodu a tou je, že se dá nastavit jakou dobu se má partie hrát a algoritmus se tomu musí přizpůsobit. 3
18 2.2 Požadavky na program Pro realizaci programu je zapotřebí navrhnout vlastní grafické rozhraní a další funkce potřebné k realizaci. Od programu se požaduje, aby se dal ovládat pomocí myši. Dále, aby byla zobrazena historie tahů, ve které se dá listovat, a zobrazení vyhozených kamenů obou soupeřů. Také je potřeba, aby se dala hra uložit a načíst ze souboru a umět tuto načtenou hru přehrát. Nutnou podmínkou je umělá inteligence. Doba po jakou hraje hráč je z hlediska použití programu zbytečné a proto tato informace nebude zahrnuta v řešení. Také je potřeba, aby se kameny pohybovaly jen podle šachových pravidel a tuto skutečnost pro aktuálně vybraný kámen zobrazit. 4
19 3. Definice pojmů a používané algoritmy Modelem šachovnice je pole 8x8. Za hrací kámen se považuje figurka, která má přesně definované vlastnosti (např. pohyb). Každému typu hracího kamene je pro reprezentaci v poli šachovnice přiděleno jednoznačné číslo, které reprezentuje daný kámen. Pozicí je myšleno konkrétní umístění kamenů na šachovnici. Změnou pozice je myšleno posun kamene z jednoho místa na jiné. Za tah je považován pohyb, který provedou po sobě oba hráči. Za půltah se pak považuje posun kamene jen jednoho hráče. 3.1 Naivní algoritmus Tento algoritmus je velice jednoduchý a také nevykazuje velkou inteligenci popisuje ho např. [5]. Spočívá jen v zahrání a ohodnocení těch tahů, které lze ze současné pozice zahrát. Pseudokód: int NejlepsiHodnotaPozice(){ /* Funkce vrátí nejlepší ohodnocení pozice*/ tahy t; /*Proměnná obsahující možné tahy */ int i, cena, pom; /*Číselné proměnné*/ t=generujtahy(); /*Generuje všechny tahy, které lze zahrát */ cena=-nekonecno; /* Pamatuji si jak je dobrý tah.*/ for(i=0; i<t.pocet;i++){ /*Cyklus přes všechny tahy*/ Tahni(); /*Zahraji tah*/ pom=-hodnotapozice(); /*Zjistím jak je dobrý*/ if(pom>cena) cena=pom; /*Je-li prozatím nejlepší, zapamatuji si ho*/ TahniZpet(); /*Zahraji tah zpět*/ } /*konec for cyklu přes tahy*/ return cena; /Vrátím nejlepší hodnotu*/ } 5
20 Pro znázornění výpočtu a lepšího pochopení budeme uvažovat graf, kde pozice jsou vrcholy a lze-li táhnout z jedné pozice do druhé pak tyto dva vrcholy spojíme orientovanou hranou. Čtverečkem jsou označeny vrcholy, které znázorňují možné tahy protihráče. Vrchol 1 označuje již provedený tah protihráče a zkoumá se jaká je nejlepší pozice pro hráče na tahu Obr Strom hry pro naivní algoritmus Výpočet probíhá následovně. Výchozí pozice zde 1 se vygenerují tahy, které lze provést a dostat se do pozic 2 až 9. Algoritmus pak zkouší zahrát jednotlivé tahy a zjišťuje, který z nich je nevýhodnější. Ze všech možných tahů se hledá maximum. Výchozí pozice se přejde do pozice 2 a zjistí se výhodnost této pozice. Pak se vrátí do výchozí pozice a zahraje tah, který vede na pozici 3. Jestliže tato pozice je výhodnější zapamatuje si toto číslo. Takto postupuje přes všechny tahy. Nakonec vrátí hodnotu nejlepší pozice. Příklad stromu hry ukazuje obr
21 3.2 Algoritmus MiniMax Tento algoritmus není moc složitý. Podobá se naivnímu algoritmu, ale jeho hloubka prohledávání není jedna, ale lze ji stanovit a tím zlepšit vlastnosti určení nejlepší pozice. Je popsán v [5]. Pseudokód: int MiniMax(int hloubka){ /*Funkce vrátí odhad pozice výsledek propočtu do zadané hloubky*/ tahy t; /*Obsahující pole tahů */ int i, pom; if(koncovapozice()) return MatRemis(); /* Funkce MatRemis vrací 0, pokud nastává v pozici remíza a -mnoho, pokud jsme v matu*/ if(hloubka==0) return HodnotaPozice(); /* Když jsem na hloubce 0, končím propočet a vracím odhad.*/ t=generujtahy(); /*Naleznu všechny tahy z pozice.*/ for(i=0; i<t.pocet;i++){ Tahni(); pom=-minimax(hloubka-1); /*Cyklus přes všechny tahy*/ /*Zahraji tah*/ /*Zjistím, jak je tah dobrý propočtem do hloubky o jedničku menší. Musím ale návratovou hodnotu vynásobit -1, neboť funkce MiniMax posuzovala pozici z hlediska soupeře.*/ TahniZpet(); /* Zahraji tah zpět*/ if(pom>cena)cena=pom; /*Pamatuji si dosud nejlepší cenu*/ TahniZpet(); /* Zahraji tah zpět*/ } /*konec for cyklu přes tahy*/ return cena; /*Vvrátím cenu nejlepší pozice*/ } 7
22 Příkladem může být graf na obrázku Uvažujeme stejnou interpretaci stromu hry jako v kapitole 3.1. Z počáteční pozice 1 lze táhnout do pozice 2 a 22. Z pozice 2 pak může soupeř jít do pozice 3, 10, 15 atd.. Vrcholy na stejné úrovni symbolizují pozice, do kterých se dostaneme po stejném počtu tahů. Výchozí pozici rozvineme do požadované hloubky Obr Strom hry algoritmu MiniMax Výpočet probíhá následovně. Generátor možných tahů vygeneruje všechny tahy z aktuální pozice a provede v paměti první z nich. Po přesunu do příslušné pozice (zde 2) počítač vygeneruje možná pokračování soupeře, zase vybere tah z vygenerovaných pro soupeře a v paměti ho provede (zde 3), dále pokračuje zjištěním všech možných svých tahů a pak zase soupeřových a takto pokračuje až se dostane do zadané hloubky (zde pozice 5). Pro tuto pozici se spočítá její výhodnost pro hráče na tahu. Dále vrátí tah zpět a zkusí se zahrát další možný tah (zde 6), opět se pro tento tah zjistí jeho výhodnost. Po prohledání všech možných variant z pozice 4 se určí hodnota této pozice. Pokud bude v této pozici táhnout hráč na tahu, bude hodnota maximum z hodnot pozic do kterých odtud táhnul, bude-li to soupeř tak to bude minimum. Po vytvoření celého stromu hry bude počítač táhnout do pozice s největším ohodnocením. Protože se na jednotlivých hladinách pravidelně střídá minimum s maximem, nazývá se tento algoritmus MiniMax. 8
23 3.3 Algoritmus alfa-beta Alfa-beta algoritmus vychází z algoritmu MiniMax. Tomuto algoritmu se přidají dva parametry alfa a beta, které udávají interval prohledávaní. Vše mimo interval se prohledávat nebude, protože i kdyby se prohledávalo mimo interval bylo by to zbytečné, protože již je nalezená lepší cesta. Je popsán v [5]. Pseudokód: int AlfaBeta(int hloubka, int alfa, int beta){ /*Funkce vrátí odhad pozice výsledek propočtu do zadané hloubky*/ tahy t; /*Obsahující pole tahů */ int i, pom; if(koncovapozice()) return MatRemis(); /* Funkce MatRemis vrací 0, pokud nastává v pozici remíza a -mnoho, pokud jsme v matu*/ if(hloubka==0) return HodnotaPozice(); /* Když jsem na hloubce 0, končím propočet a vracím odhad.*/ t=generujtahy(); /*Naleznu všechny tahy z pozice.*/ for(i=0; i<t.pocet;i++){ /*Cyklus přes všechny tahy*/ Tahni(); /*Zahraji tah*/ pom=-minimax(hloubka-1, -alfa, -beta); /*Zjistím, jak je tah dobrý propočtem do hloubky o jedničku menší. Musím ale návratovou hodnotu vynásobit -1, neboť funkce AlfaBeta posuzovala pozici z hlediska soupeře, změní se i intervaly na opačné*/ TahniZpet(); /* Zahraji tah zpět*/ if(pom>alfa){ alfa=pom; /*Pamatuji si dosud nejlepší cenu*/ if(pom>=beta) return beta; /*Zde je právě ta úspor. */ } } /*konec for cyklu přes tahy*/ return alfa; /*Vvrátím cenu nejlepší pozice*/ } 9
24 Příkladem může být graf na obrázku Uvažujeme stejnou interpretaci stromu hry jako v kapitole Obr Strom hry pro alfa-beta algoritmus Výpočet probíhá následovně. Jako u algoritmu MiniMax se generují možné tahy a ty se zkouší zahrát v paměti. Až se program dostane do pozice 5 zjistí jeho hodnotu a stanoví se horní mez na 1, pak se zjistí hodnota pozice 6. Dále se vyhodnotí hodnota pozice 4, kde se zjistí, že je podmínka splněna a tak se tato hodnota změní na -1. Tímto jsme prohledali podstromy pozice 4 a dostáváme se výše, kde se změní horní mez na dolní a dostáváme -1. Dále algoritmus postupuje stejným způsobem až se dostane do pozice 15. Prohledá levý podstrom, ze kterého získá dolní mez 1. Jelikož se intervaly z pozice 15 a z pozice 2 neprotínají, neexistuje lepší tah a prohledávání zbylých podstromů je zbytečné. To samé se provede u pozice 22. Je vidět, že pokud by měla pozice 10 více podstromů, tak by byly také odříznuty, protože se zde zase intervaly nepřekrývají. 10
25 3.4 Redukční algoritmus Redukční algoritmus řeší úlohy metodou vyhledávání matových obrazců jak to popisuje [6]. Při optimalizaci se zjišťuje jestli tyto obrazce mohou nastat a tímto získáváme jen některé obrazce. Další fází je zkoumání jestli se dá nalézt konkrétní cesta z počáteční pozice do těchto obrazců. V případě úspěšnosti je nalezeno řešení. Redukční algoritmus hledá obrazce na základě masek příslušejících jednotlivým typům kamenů. Obrazec odpovídá skupině kamenů, kdy jde o šach a všechna pole kolem černého krále jsou kryta bílými kameny nebo blokována černými kameny. Z celkového počtu bílých a černých kamenů v pozici úlohy jsou v konkrétním obrazci obsaženy jen některé, které se obrazce aktivně účastní. Tyto kameny nazýváme zúčastněné kameny. Zbývající kameny, které se na obrazci nepodílejí, nazýváme nezúčastněné kameny. Na základě tabulek dostupnosti polí se provede statický odhad počtu tahů bílého a černého pro dosažení obrazce. Obrazce, kterých není možné dosáhnout v určitém počtu tahů jsou vyloučeny. Celkový počet tahů závisí na obtížnosti úlohy. Počet stupňů volnosti se získá odečtením od počtu tahů počet nutných tahů k dosažení obrazce. Pro každý obrazec se nejprve zjistí násobnost šachu. Bodový šach může být maximálně jeden. Pokud je počet šachů větší nebo roven dvěma, nelze většinu optimalizací použít. Nemusí jít jen o dvojité šachy. Jelikož jádro redukčního algoritmu nevidí přes linie, může být tento počet šachů i větší než 2, ale v tomto případě může jít o vazby černých kamenů. V případě jednoduchých šachů vytvořím seznam kritických polí. Kritická pole jsou pole matujícího kamene a pole na matující linií. 11
26 Ve fázi optimalizace se prozkoumává soubor podmínek, které tomu mohou bránit. Tím mohou být bílé zúčastněné kameny, stojící na matové linii, černé zúčastněné kameny, které mohou bodově vstoupit do matové linie nebo na matové pole, atd. Pokud obrazec projde optimalizací, hledá se dynamicky cesta z počáteční pozice do nalezeného obrazce. V této fázi sice už dochází k provádění konkrétních tahů. Jednotlivé tahy však mohou snižovat aktuální počet stupňů volnosti a pokud jsou takto dynamicky tahy některé strany již vyčerpány, všechny dále následující varianty od této úrovně už nejsou uvažovány. Ke zvýšení těchto eliminací přispívá i dynamické volání některých algoritmů (algoritmus pěšců, rozpojovací algoritmus apod. více [6]). Příkladem výstupu programu, který používá tento algoritmus je tabulka Pro lepší představu je vše vidět na obrázku Kd2 Ja6 Kg2 Dg3 Sd1 nutných tahů bílého c1 c2 a1 nezúčast. a nutných tahů černého stupňů volnosti bílého stupňů volnosti černého a3 b3 a1 nezúčast. b h6 g6 h8 nezúčast. g Tab Parametry nalezených obrazců z Obr
27 Obr Příklad nalezených obrazců převzato z [6] 13
28 4. Realizace 4.1 Použité vývojové prostředí Pro projekt jsem si vybral vývojové prostředí Dev C++ [7]. Tento program už používám několik let a jsem s ním plně spokojen. Pro malé a střední projekty je ideálním řešením a jeho hlavní výhodou je, že je to freewarový program. Nevýhodou tohoto programu je, že neobsahuje veškeré podpůrné prvky jako komerční vývojová prostředí, ale tyto nedostatky se řeší nainstalováním potřebného balíčku, kterých dnes existuje nespočet. Pro mojí aplikaci bylo nutné doinstalovat balíček, který podporuje práci s SDL knihovnou a doinstalovat také podporu písma ke knihovně SDL. Oba tyto balíčky lze stáhnout z domovských stránek Dev C++. Toto vývojové prostředí je velice jednoduché na ovládání a není složité se tímto softwarem naučit pracovat na rozdíl od komerčních vývojových prostředí. Jako programovací jazyk jsem zvolil C++, protože je zatím nejrozšířenějším programovacím jazykem a je podporován i vývojovým prostředím, které jsem použil. Pro lepší orientaci a v tomto jazyce při programování jsem použil knižní literaturu [8] a [9]. 14
29 4.2 Reprezentace šachovnice Pro reprezentaci šachovnice se nabízelo několik možností např. maticí 8x8 ukazuje tabulka 4.2.1, maticí 10x12 ukazuje tabulka a nebo maticí 16x8 s kódováním 0x88 znázorňující tabulka Výběr reprezentace šachovnice je důležitý, protože s touto reprezentací se stále pracuje, a proto je důležité, aby operace testování byly rychlé. Dále je také dobré zohlednit jak dobře se s reprezentací pracuje, aby náhodou na úkor rychlosti nedocházelo ke špatné adresaci šachovnice a tudíž k chybám v programu. Výhodou reprezentace maticí 8x8 je intuitivní určení souřadnic na šachovnici. Nevýhodou je potřeba testování čtyř okrajových podmínek a to zpomaluje program A8 B8 C8 D8 E8 F8 G8 H8 1 A7 B7 C7 D7 E7 F7 G7 H7 2 A6 B6 C6 D6 E6 F6 G6 H6 3 A5 B5 C5 D5 E5 F5 G5 H5 4 A4 B4 C4 D4 E4 F4 G4 H4 5 A3 B3 C3 D3 E3 F3 G3 H3 6 A2 B2 C2 D2 E2 F2 G2 H2 7 A1 B1 C1 D1 E1 F1 G1 H1 Tab Reprezentace šachovnice maticí 8x8 15
30 Reprezentace maticí 10x12 využívá toho, že jsou přidány okraje, ve kterých je nějaká hodnota (zde N), která určuje, že už jsme mimo šachovnici. Zde stačí testovat jen jednu podmínku a proto tato realizace zrychluje provádění výpočtu oproti matici 8x8. Nevýhodou je, že souřadnice pole neodpovídají umístění na šachovnici. Jak je vidět v tabulce na okrajích je jen jedna hodnota, která udává, že jsme mimo pole. Tak že by bylo logické použít pole 12x12, protože když si vezmeme pohyb jezdce dostáváme, že se může pohybovat až o dvě pole. Vše je úplně v pořádku a stačí reprezentace 10x12, protože pole bývá většinou realizováno lineárním polem a tak lze říci, že sloupec nula a sloupe devět v tabulce jsou vedle sebe. Takto získáme dvě hodnoty, vedle sebe a i pro jezdce se dá poznat, že je mimo šachovnici N N N N N N N N N N 1 N N N N N N N N N N 2 N A8 B8 C8 D8 E8 F8 G8 H8 N 3 N A7 B7 C7 D7 E7 F7 G7 H7 N 4 N A6 B6 C6 D6 E6 F6 G6 H6 N 5 N A5 B5 C5 D5 E5 F5 G5 H5 N 6 N A4 B4 C4 D4 E4 F4 G4 H4 N 7 N A3 B3 C3 D3 E3 F3 G3 H3 N 8 N A2 B2 C2 D2 E2 F2 G2 H2 N 9 N A1 B1 C1 D1 E1 F1 G1 H1 N 10 N N N N N N N N N N 11 N N N N N N N N N N Tab Reprezentace šachovnice maticí 10x12 16
31 Pro reprezentaci maticí 16x8 se využívá vhodného rozmístění čísla sloupce a čísla řádku v jednotlivých bitech indexové proměnné tab V bitech 7 a 3 musí být vždy nula. Pokud v těchto bitech nula není pak jsme mimo pole. Bit Obsah 0 číslo řádku 0 číslo sloupce Tab Znázornění indexace v matici 16x8 Proto se využívá k realizaci pole 16x8, které je znázorněno v tabulce Pole označená jako X se vůbec nepoužívají a slouží jen jako výplň, aby vzniklo pole s požadovanými vlastnostmi. Byte A B C D E F 0x00 A8 B8 C8 D8 E8 F8 G8 H8 X X X X X X X X 0x10 A7 B7 C7 D7 E7 F7 G7 H7 X X X X X X X X 0x20 A6 B6 C6 D6 E6 F6 G6 H6 X X X X X X X X 0x30 A5 B5 C5 D5 E5 F5 G5 H5 X X X X X X X X 0x40 A4 B4 C4 D4 E4 F4 G4 H4 X X X X X X X X 0x50 A3 B3 C3 D3 E3 F3 G3 H3 X X X X X X X X 0x60 A2 B2 C2 D2 E2 F2 G2 H2 X X X X X X X X 0x70 A1 B1 C1 D1 E1 F1 G1 H1 X X X X X X X X Tab Reprezentace šachovnice maticí 16x8 Zvolil jsem reprezentaci maticí 8x8, protože je hned na první pohled vidět, s jakým polem se pracuje. Tuto volbu pro reprezentaci šachovnice jsem provedl i s ohledem na zpomalení několika operací, protože se často testuje jestli je šachový kámen mimo hrací pole a zde se testují čtyři okrajové podmínky. 17
32 4.3 Potřebné funkce Bylo zapotřebí implementovat základní funkce: určení konce hry, což jsou funkce, které umí detekovat mat a pat určení jestli je šach funkce udávající pohyb šachových kamenů podle pravidel generátor tahů algoritmus alfa-beta ohodnocovací funkci. Pro ohodnocovací funkci jsem stanovil materiální hodnoty kamenů takto: pěšec 1.0 jezdec 3.0 střelec 3.0 věž 4.5 dáma 9.0 král (aby, nemohl být obětován) 18
33 Z důvodu, že pro počáteční pozice kamenů vrací ohodnocovaní funkce velice podobné až stejné hodnoty zavedl jsem pole, které udává poziční výhodu na šachovnici tabulka Pro každé pole je stanovena hodnota, která udává výhodnost umístění kamene na šachovnici. A B C D E F G H Tab Poziční hodnoty polí Pro zlepšení vlastností ohodnocovaní funkce jsem zvolil alfa-beta algoritmus, který zkouší zahrát tahy do hloubky 3 půltahů. Tato hloubka je dostačující pro středně vyspělou inteligenci. Tuto hloubku jsem zvolil také z toho důvodu, aby se dal počítač porazit a tento program neodrazoval uživatele s méně zkušenostmi s hrou šachy. 19
34 Pseudokód funkce alfa-beta: int AlfaBeta(int hloubka, int alfa, int beta){ /*Funkce vrátí odhad pozice výsledek propočtu do zadané hloubky*/ tahy t; /*Obsahující pole tahů */ int i, pom; if(koncovapozice()) return MatRemis(); /* Funkce MatRemis vrací 0, pokud nastává v pozici remíza a -mnoho, pokud jsme v matu*/ if(hloubka==0) return HodnotaPozice(); /* Když jsem na hloubce 0, končím propočet a vracím odhad.*/ t=generujtahy(); /*Naleznu všechny tahy z pozice.*/ for(i=0; i<t.pocet;i++){ /*Cyklus přes všechny tahy*/ Tahni(); /*Zahraji tah*/ pom=-minimax(hloubka-1, -alfa, -beta); /*Zjistím, jak je tah dobrý propočtem do hloubky o jedničku menší. Musím ale návratovou hodnotu vynásobit -1, neboť funkce AlfaBeta posuzovala pozici z hlediska soupeře, změní se i intervaly na opačné*/ TahniZpet(); /* Zahraji tah zpět*/ if(pom>alfa){ alfa=pom; /*Pamatuji si dosud nejlepší cenu*/ if(pom>=beta) return beta; /*Zde je právě ta úspor. */ } } /*konec for cyklu přes tahy*/ return alfa; /*Vvrátím cenu nejlepší pozice*/ } 20
35 4.4 Návrh grafického rozhraní Pro návrh jsem se zvolil okno velikosti 800x600 pixelů. Šachovnici jsem umístil k hornímu okraji, aby dole zbylo místo na ovládací panel a pole pro zobrazování informací. Zarovnání šachovnice je na střed a po obou stranách je prostor, kde se zobrazují vyhozené kameny. Pro zobrazení historie tahů jsem zvolil pravou stranu spodní lišty a na levou jsem umístil tlačítka pro ovládání. Střed lišty zobrazuje informaci, který hráč je na tahu. Vzhledem k velikosti okna je jedno políčko šachovnice veliké 68x68 pixelů a figurky mají velikost 60x60 pixelů. Pro možnost změny grafického vzhledu figurek jsem se je rozhodl umístit do zvláštního adresáře ve formátu BMP. Stejným způsobem jsem vyřešil i grafické zobrazení šachovnice. Navrhl jsem si figurky a nakreslil podle požadované velikosti. Figurky jsem umístil na červené pozadí, která je při načítání uvažována jako transparetní. 4.5 Načítání a ukládání hry Pro ukládání a načítání hry jsem zvolil ukládání do textového souboru, aby se dal editovat v textových programech a tímto dosáhnou možnosti upravení hry a nebo vytvoření vlastní hry, kterou si lze přehrát. Při vytváření hry pro přehrávání je zapotřebí, aby hra začínala od základního postavení kamenů a aby se kameny pohybovali podle pravidel šach, protože přehrávací funkce nekontroluje správnost tahu. Přehrávací funkce předpokládá, že tahy jsou podle pravidel. Tento soubor má následnou strukturu: první řádek obsahuje údaj pro funkci pat, je to počet tahů, ve kterém nebylo táhnuto pěšcem a ani nebyl vyhozen kámen od druhého řádku jsou pak všechny následující řádky stejné 21
36 jeden řádek udává jeden půltah a jeho struktura je: A B C D E F, kde jednotlivá písmena znamenají: A číslo tahu B písmenná souřadnice počátečního půltahu C číselná souřadnice počátečního půltahu D písmenná souřadnice koncového půltahu E číselná souřadnice koncového půltahu F je nenulové pokud v tomto tahu došel pěšec nakonec a udává za jaký kámen se proměnil hodnoty figur, na které se může změnit pěšec jsou následující: 1 věž 2 jezdec 3 střelec 5 dáma Pozn.: kladná čísla značí kameny bílého záporná černého hráče příklad formátu souboru ukazuje tabulka
37 10 1 D 2 D E 7 E D 7 D C 7 C G 6 H C 8 A 6 0 Tab Příklad formátu souboru Na obrázku je znázorněno jak bude probíhat přehrávání podle uložených informací v textovém souboru, které ukazuje tabulka tah 50 černý pěšec z D7 na D6 tah 51 bílý pěšec z C7 na C8 a 5 značí, že se zde změní na dámu tah 52 černý král z G6 na H6 tah 53 dáma z C8 na A A B C D E F G H Obr Příklad přehrání hry 23
38 5. Zkoušení a testování programu 5.1 Ladění Při testování jsem se setkával s několika problémy, které jsem musel řešit. Prvním problémem byl generátor tahů, který sám o sobě pracoval správně, ale po přidání do projektu začal generovat nesmyslné tahy. Tento problém jsem vyřešil redundancí pole tahů a vše pak znova otestoval a vše bylo v pořádku. Druhým problémem byla ohodnocovaní funkce. V základním tvaru byla její funkčnost bezchybná, ale jelikož jsem chtěl dosáhnout lepšího ohodnocení různých variant pozic, tak jsem vždy nasimuloval nějakou pozici a zkoušel jsem různé varianty ohodnocení. Jeden z příkladů ukazuje obr 5.1.1, kde je černý na tahu A B C D E F G H Obr Příklad pozice pro ladění Z obrázku je jasné, že černý má převahu a je vidět, že černý může vyhrát. Ale problémem je, že ať se posune jakákoliv z věží tak, aby dostal bílý hráč šach přijde o ni. Různé možnosti sice existují, ale tento problém se mi nepodařilo vyřešit, protože když už 24
39 jsem skoro u cíle, tak jsem zkoušel hrát hru od začátku a inteligence počítače byla znatelně horší. Stejně kdyby se mi podařilo vyřešit tento problém, mohl bych řešit zase jiný, ale takových situací existují stovky a proto by bylo výhodnější pro takové pozice mít databázi koncovek a postupovat podle nějaké koncovky. Dále jsem se snažil, aby si počítač lépe hlídal své kameny a nevyměňoval je za kameny, které měly menší materiální hodnotu. Když jsem dosáhl cíle, aby si počítač lépe hlídal své figurky tak se zněj stal neagresivní protihráč, který se snaží rozmístit kameny po šachovnici tak, aby měl co nejvíce kamenů hlídaných vlastními kameny. A tak jsem se vrátil k předchozí verzi, kdy byl počítač agresivnější, ale stávalo se, že provedl z logického pohledu nesmyslnou výměnu. Posledním problémem bylo upravit ohodnocovaní funkci tak, aby se počítač snažil dát šach a dále mat. To jsem řešil tak, že jsem považoval za výhodnější pozici takovou, kdy má král menší pohyblivost a o málo více jsem zvýhodnil pozici kdy je král v šachu. Tato implementace se mi podařila celkem úspěšně zrealizovat. 25
40 5.2 Testování Po dokončení programu jsem provedl test, který měl ověřit jak je program graficky a inteligenčně zdařilí. Program testovalo pět nezávislých uživatelů. Test probíhal následovně. Nejprve si každý uživatel zahrál jednu hru. Pak jsem je nechal napsat hodnocení, ve kterém měli zhodnotit grafické rozhraní, užitečnost a dostatečnost zobrazovaných informací během hry a ovládání programu. Dále si každý uživatel zahrál ještě čtyři partie. Pak měli za úkol znovu napsat hodnocení. Test byl záměrně sestaven tak, aby každý uživatel po první hře napsal hodnocení programu a pozbývajících čtyřech toto hodnocení napsal ještě jednou. Z prvního hodnocení se zjistilo jaký je první dojem na vytvořený program. Podle hodnocení se všem grafická stránka líbila. Inteligenci počítače prohlásili dva lidé za lehčí, a že nebyl problém počítač porazit. Ostatním uživatelům se také podařilo počítač porazit, ale jejich názor byl, že to nebylo zas tak jednoduché. Všichni se shodli, že má program trochu zajímavé ovládání, ale nepovažovali to za nějakou závažnou chybu. Po nějaké době se prý dá na ovládání zvyknout a je to jen otázka zvyku. Výsledky testu ještě shrnuje tabulka
41 Uživatel Věk Zkušenosti v šachu Skóre Poznámky U1 20 Středně pokročilý 2 výhra 2 prohra 1 pat U2 19 Začátečník 1 pat 4 prohra U3 23 Středně pokročilý 2 pat 1 výhra 2 prohra + Příjemné grafické rozhraní + Možnost přehrání si hry + Zobrazování pohybu kamenů + Zajímavá grafika Větší obtížnost + Rychlost reakce Horší zakončování hry počítače U4 42 Pokročilý 5 výhra + Příjemné grafické rozhraní Slabá inteligence U5 39 Pokročilý 4 výhra 1 pat + Rychlost reakce Počítač by mohl mít lepší inteligenci Tab Výsledky testování 27
42 6. Závěr Práce se zabývala prostudováním existujících šachových programů a realizací vlastního šachového programu včetně grafického rozhraní, pomocných funkcí a umělé inteligence. Dále shrnula základní algoritmy, které se používají ke tvorbě umělé inteligence pro šachy, ale nejen pro ně. Bylo ukázáno několik reprezentací šachovnice, které lze pro realizaci použít. Vzniklý program má vlastní znázornění informací, které je potřeba znát během hry. Grafické rozhraní je implementováno pomocí knihovny Simple DirectMedia Layer. V omezeném čase, který jsem měl k dispozici pro realizaci bakalářské práce nebylo možné dosáhnout veliké inteligence počítače. Program, ale umí načítat a přehrávat šachové turnaje uložené v textovém souboru. Tento soubor, ale musí mít definovanou strukturu, aby bylo možné hru načíst. Lze si uložit rozehranou hru a později v ní pokračovat nebo pokračovat v načtené hře, která neskončila matem nebo patem. Program je plně ovládán myší. Je zobrazováno pět posledních odehraných tahů z historie, ale v historii tahů se dá listovat, tak že není problém najít hledaný tah nebo kombinaci tahů. Program se nevyznačuje vynikající inteligencí, ale je postačující a grafická stránka programu podle uživatelů, kteří program testovali, je postačující. Možností pokračování práce, aby měl program vyšší inteligenci by mohlo být: vylepšení umělé inteligence počítače tak, že by se do programu přidala databáze koncovek, aby se nemuselo počítat jaká je nerychlejší cesta k vítězství zavedení databáze počátečních tahů, aby počítač nezačínal stále stejným protitahem na zahajující tah bílého hráče. Po doplnění databáze počátečních tahů a koncovek by mohl tento program porážet i mitry v královské hře šachu. 28
43 7. Seznam literatury [1] Domovská stránka programu Shredder [2] Domovská stránka programu Deep Fritz [3] Stránky o programu winboard [4] Stránky o programu arena [5] Vysvětlení naivního algoritlu, algoritmu minimax a alfa-beta algoritmu [6] Popis redukčního algoritmu [7] Dompvské stránky programu Dev C++ [8] Pavel Herout. Učebnice jazyka C. Nakladatelství KOPP, České Budějovice, IV. přepracované vydání, 2004 [9] Pavel Herout. Učebnice jazyka C 2.díl. Nakladatelství KOPP, České Budějovice, II. přepracované vydání,
44 30
45 Příloha A - Uživatelská příručka Instalace 1. vložte CD do mechaniky 2. v adresáři šachy spusťte hru souborem šachy.exe pokud nechcete mít CD v mechanice překopírujte celý adresář šachy na disk počítače Ovládání LTM levé tlačítko myši PTM pravé tlačítko myši Výběr figurek provedete LTM nad figurkou, kterou chcete hrát. Zrušení výběru se provede PTM kdekoliv na hrací ploše. Přemístění se provede druhým kliknutím LTM po výběru figurky. Další ovládání viz obrázek A.1. 31
46 Hrací Plocha Obr. A.1 Hrací plocha 1 pole, kde se zobrazují vyhozené figurky 2 takto je označeno kam se může táhnout 3 aktuálně vybraná figurka 4 začne novou hru POZOR! Pokud máte rozehranou patrii přijdete o ni 5 udává kdo je na tahu 6 historie tahů První sloupec číslo tahu Druhý sloupec počáteční místo tahu Třetí sloupec koncové místo tahu 7 Při přehrávání posun vřed a vzad ( pokud se nelze pohybovat není zobrazeno) 8 Uloží hru do souboru save/hra.txt POZOR! Přemaže již existující soubor (pokud chcete hru zachovat přejmenujte soubor hra.txt) 9 Načte hru ze souboru save/hra.txt (pro načtení hry je potřeba, aby zde byl tento soubor, jiný se nenačte) 10 Přepne se do režimu přehrávání 32
47 Pravidla Cíl hry Dát soupeřovu králi mat. Hra Hru začíná vždy bílý, pak táhne černý a dále se hráči střídají. Hráč na tahu přenese jeden ze svých kamenů na volné pole nebo na pole, které je obsazeno spoluhráčovým kamenem. Ve druhém případě se soupeřů kámen odstraní ze hry. Král je v šachu, jestliže je ohrožen alespoň jedním soupeřovým kamenem, tj. tento kámen by mohl v příštím tahu vstoupit na královo pole. Král, který se v šachu, musí této hrozbě uniknout v bezprostředně následujícím tahu. A to přesunem na jiné, bezpečné pole, zajetím soupeřova kamene, který dává jeho králi šach, nebo zrušení šachu kamenem postavením mezi krále a šachující soupeřovu figuru. Pohyb figur: Pěšec Pěšec se pohybuje jen vpřed o jedno pole. Výjimku tvoří tah z výchozí pozice kdy může táhnout o jedno nebo dvě pole. Druhou výjimkou je braní soupeřova kamene, kdy pěšec může sebrat soupeřův kámen o jedno pole vpřed a šikmo vpravo nebo vlevo. Pokud se pěšcem dostanete na konec hrací plochy smíte si ho vyměnit za libovolnou figurku kromě krále bez ohledu na počet ostatních kamenů ve hře. Takže můžete mít tři a více jezdců, dam, věží nebo střelců. Tato výměna proběhne v rámci dokončení tahu a její působnost je okamžitá. Obr. A.2 Pohyb pěšce 33
48 Věz Věž se může pohybovat vodorovně nebo svisle o libovolný počet polí, ale nesmí přeskakovat svoje ani soupeřovi kameny. Obr. A.3 Pohyb věže Jezdec Jezdec se pohybuje zajímavým způsobem. O jedno pole horizontálním nebo vertikálním směrem a bez zastavení jedno pole diagonálním směrem. Od výchozího pole se stále vzdaluje. Jezdec je jediný kámen, který může přeskakovat ostatní kameny. Obr. A.4 Pohyb jezdce 34
49 Střelec Střelec se může pohybovat diagonálním směrem o libovolný počet políček, ale nesmí přeskakovat svoje ani soupeřovi kameny. Obr. A.5 Pohyb střelce Dáma Dáma se může pohybovat horizontálně a vertikálně o libovolný počet polí jako věž a dále se může pohybovat diagonálně všemi směry jako střelec. Opět platí, že při svém pohybu nesmí přeskakovat svoje ani soupeřovi kameny. Díky svému pohybu je dáma nejsilnějším kamenem ve hře. Obr. A.6 Pohyb dámy 35
50 Král Král může postoupit jen na sousední pole libovolném směru, ale toto pole nesmí být ohroženo soupeřovým kamenem. Výjimku tvoří zvláštní dvojtah zvaný rošáda. Obr. A.7 Pohyb krále Rošáda Rošáda je zvláštní druh dvojtahu, ve kterém smí hráč posunout dva ze svých kamenů jednu z věží a krále. Počítá se, ale jako tah krále. Máme dvě rošády malou a velkou. Malá je, že se král posune o dvě pole směrem k bližší věži a věž se posune o dvě pole směrem ke králi. Velká rošáda je skoro stejná jako malá, ale provádí se směrem ke vzdálenější věži a věž se posune o tři pole. Rošáda smí být provedena jen za těchto okolností: 1. Králem ani věží ještě nebylo taženo. 2. Pole, na kterém král stojí, které musí překročit, nebo které má obsadit, není ohroženo soupeřovým kamenem. 3. Všechna pole mezi králem a věží, s nimiž bude rošáda provedena, jsou volná. Obr. A.8 Malá rošáda Obr. A.9 Velká rošáda 36
51 Konec Hry Nedokáže-li hráč zlikvidovat svým nejbližším tahem ohrožení svého krále a král zůstane dál v šachu, hra končí jeho porážkou. podle ustálené zvyklosti se říká, že dostal mat. Partie je nerozhodná: Pokud král hráče, který je na tahu, není v šachu a hráč nemůže provést žádný přípustný tah. Říká se, že partie skončila patem. Pokud oba hráči provedli posledních 50 po sobě následujících tahů, aniž byl brán nějaký kámen nebo bylo taženo pěšcem. Když zůstaly ve hře takové kameny, které neumožňují dosáhnout jednomu z hráčů vítězství: 1. Dva osamělí králové. 2. Král se střelcem stojí proti králi a střelci a oba střelci jsou buď na bílé nebo na černé diagonále. 3. Král stojí proti králi a střelci, nebo proti králi a jezdci. 37
52 38
53 Příloha B Obsah přiloženého CD Obr. B.1 Obsah přiloženého CD 39
Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1
Projektový seminář 1 Základní pojmy Tah = přemístění figury hráče na tahu odpovídající pravidlům dané hry. Při tahu může být manipulováno i s figurami soupeře, pokud to odpovídá pravidlům hry (např. odstranění
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY ROČNÍKOVÝ PROJEKT KLOKAN. Informatika, II. ročník
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY ROČNÍKOVÝ PROJEKT KLOKAN Květen 2010 Libor Valouch Informatika, II. ročník 1 Abstrakt Dokumentace ročníkového projektu Klokan. Jedná se o
ŘEŠENÍ PŘÍKLADŮ Šachová cvičebnice, 4. díl (17. - 22. lekce)
ŘEŠENÍ PŘÍKLADŮ Šachová cvičebnice, 4. díl (17. - 22. lekce) V tomto materiálu najdete řešení příkladů a cvičení z Šachové cvičebnice, 4. dílu. Úkoly ve cvičebnicích doplňují základní materiál Metodická
Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.
Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel
SPIRIT 2012. Nové funkce. SOFTconsult spol. s r. o., Praha
SPIRIT 2012 Nové funkce SOFTconsult spol. s r. o., Praha Informace v tomto dokumentu mohou podléhat změnám bez předchozího upozornění. 01/2012 (SPIRIT 2012 CZ) Revize 1 copyright SOFTconsult spol. s r.
ZPRACOVÁNÍ NEURČITÝCH ÚDAJŮ V DATABÁZÍCH
0. Obsah Strana 1 z 12 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION
SEZNÁMENÍ S PROGRAMEM
SEZNÁMENÍ S PROGRAMEM Základní informace pro každého Následující popis je určen pro stručné a rychlé seznámení s programem a jeho ovládáním. Detailnější vysvětlení funkcí programu naleznete v českém i
Souhrn. Cíl hry. Autoři: Marco Rusowski a Marcel Süßelbeck
Biskup očekává velmi váženou návštěvu, ale bohužel velká freska - malba na stropě katedrály - zoufale volá po zrestaurování. Souhrn Autoři: Marco Rusowski a Marcel Süßelbeck pro 2-4 hráče od 10 let Proslulí
Obsah herní sady: 40x dřevěný kámen hrací deska návod
Obsah herní sady: 40x dřevěný kámen hrací deska návod www.shogi.cz info@shogi.cz /Shogicz Online návod: http://www.shogi.cz/zviratkanavod.pdf CZ Rychlá pravidla 1 Rozestavění kamenů 3 Hrací kameny a pohyb
Základní kurs pro začátečníky v kroužcích
Metodika výuky šachu mládeže Rámcový program Základní kurs pro začátečníky v kroužcích 1. Základní pravidla, šachovnice a notace, chod a působnost figur a jejich zvláštnosti. NŠA lekce 1, lekce 2, lekce
Gymnázium, Praha 6, Arabská 14. Loydova patnáctka. Dokumentace ročníkového projektu. Předmět: Programování Vyučující: Ing. Tomáš Obdržálek Třída: 1.
Gymnázium, Praha 6, Arabská 14 Loydova patnáctka Dokumentace ročníkového projektu Předmět: Programování Vyučující: Ing. Tomáš Obdržálek Třída: 1.E Jan Zaoral květen 2014 1. Úvod 1.1. Anotace Česky Cílem
SOUBOR 150 HER. 9. Člověče nezlob se bez vyhazování. 3. Africké člověče. 10. Kočičí hra. 4. Bláznivé člověče. 11. Rozdělené Člověče nezlob se
SOUBOR 150 HER Soubor obsahuje: l 2 oboustranné herní plány l 32 šachových figurek ve dvou barvách l 16 figurek ve čtyřech barvách l 30 dámových kamenů ve dvou barvách l 6 hracích kostek s oky l 32 jednohlavých
Standardně máme zapnutý panel nástrojů Formátování a Standardní.
Zapnutí a vypnutí panelů nástrojů Standardně máme zapnutý panel nástrojů Formátování a Standardní. Úkol: Vyzkoušejte si zapnout a vypnout všechny panely nástrojů. Nechte zapnutý panely nástrojů Formátování
Obsah. Deskové hry 1. str. 33 Mikado 19 Kostky 20. str.
97730009 Kralovstvi her N 4.10.2006 8:26 Stránka 2 Obsah str. Deskové hry 1 1 Člověče, nezlob se 2 Šachy 3 Dáma 4 Žravá dáma 5 Rohová dáma 6 Blokáda 7 Contract-checkers 8 Lupič a četníci 9 Mlýn 10 Skákavý
MA_CZH_CLOCK_UserManual DGT 960 Rev1 1
MA_CZH_CLOCK_UserManual DGT 960 Rev1 1 MA_CZH_CLOCK_UserManual DGT 960 Rev1 2 Česky: Návod pro DGT960 Česky: 3 Připravte hodiny k použití 3 Zapínání a vypínání 4 Měření času s DGT960 4 Dočasné zastavení
MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress
MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress www.webdevel.cz Webdevel s.r.o. IČ 285 97 192 DIČ CZ28597192 W www.webdevel.cz E info@webdevel.cz Ostrava Obránců míru 863/7 703 00 Ostrava Vítkovice M 603
Dva kompletně řešené příklady
Markl: Příloha 1: Dva kompletně řešené příklady /TEH_app1_2006/ Strana 1 Dva kompletně řešené příklady Úvod V této příloze uvedeme úplné a podrobné řešení dvou her počínaje jejich slovním neformálním popisem
Obsah - 1 - WWW.STOLNIHOKEJ-SHOP.CZ
Obsah I. HRACÍ PLOCHA A ZÁKLADNÍ VYBAVENÍ II. SLOŽENÍ MUŽSTEV III. HRACÍ DOBA IV. ZÁKLADNÍ ROZESTAVENÍ V. ROZEHRÁVKA VI. SCHÉMA UTKÁNÍ VII. REGULÉRNÍ A NEREGULÉRNÍ TAHY VIII. FAULY IX. ZAHRÁVÁNÍ VÝHODY
Pravidla vybraných deskových her pro potřeby předmětů Projektový seminář 1 a 2 v roce 2011/2012. Tomáš Kühr
Pravidla vybraných deskových her pro potřeby předmětů Projektový seminář 1 a 2 v roce 2011/2012 Tomáš Kühr Gotická dáma Jedná se o tradiční německou hru, která je známá také pod názvy Altdeutsche Dame
Tabulkové processory MS Excel (OpenOffice Calc)
Maturitní téma: Tabulkové processory MS Excel (OpenOffice Calc) Charakteristika tabulkového editoru Tabulkový editor (sprematuritníadsheet) se používá všude tam, kde je třeba zpracovávat data uspořádaná
Algoritmy pro hraní tahových her
Algoritmy pro hraní tahových her Klasické deskové hry pro dva hráče: Šachy Dáma Go Piškvorky Reversi Oba hráči mají úplnou znalost pozice (na rozdíl např. od Pokeru). 1 Základní princip Hraní tahových
Téma: Arkanoid. X36SOJ Strojově orientované jazyky Semestrální práce. Vypracoval: Marek Handl Datum: červen 2006
Vypracoval: Marek Handl Datum: červen 2006 X36SOJ Strojově orientované jazyky Semestrální práce Téma: Arkanoid Úvod Program je verzí klasické hry Arkanoid. Na herní ploše jsou rozloženy kostičky, které
V Dolních Břežanech dne 10. května 2014
Námořní bitva Gymnázium, Praha 6, Arabská 14 předmět Programování, vyučující Tomáš Obdržálek dokumentace ročníkového projektu Otto Vodvářka, 1E květen 2014 Prohlašuji, že jsem jediným autorem tohoto projektu,
Po obrazovce přejede formule, před kterou se budou postupně objevovat písmena slova formule.
Formule Po obrazovce přejede formule, před kterou se budou postupně objevovat písmena slova formule. Objeví se Baltíkův domeček s cestou, Baltík otevře dveře a přejde po cestě do další scény. V další scéně
Karty Prší. Anotace: Abstract: Gymnázium, Praha 6, Arabská 14 předmět Programování, vyučující Tomáš Obdržálek
Gymnázium, Praha 6, Arabská 14 předmět Programování, vyučující Tomáš Obdržálek Karty Prší ročníkový projekt, Tomáš Krejča 1E květen 2014 Anotace: Mým cílem bylo vytvořit simulátor karetní hry prší. Hráč
Stav: červen 2008. TRACK-Guide
Stav: červen 2008 TRACK-Guide Obsah TRACK-Guide... 1 1 Úvod... 3 1.1 Rozsah funkcí...3 1.2 Zadávání číslic a písmen...3 1.3 Úvodní maska...4 2 Navigace... 5 2.1 Spuštění navigace...5 2.2 Maska navigace...6
Elektronická spisová služba
Uživatelská příručka Vytvořeno dne: 17.5.2012 Aktualizováno: 28.11.2014 2014, a.s. Obsah 1. O aplikaci... 4 1.1. 2. Obecný postup práce s Elektronickou spisovou službou... 5 2.1. Přihlášení... 5 2.2. Uspořádání
POPIS PROSTŘEDÍ PROGRAMU GIMP 2. Barvy 2. Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6. Změna velikosti fotografie 6
Obsah POPIS PROSTŘEDÍ PROGRAMU GIMP 2 Barvy 2 Okno obrázku 4 ZÁKLADNÍ ÚPRAVA FOTOGRAFIÍ V GRAFICKÉM EDITORU 6 Změna velikosti fotografie 6 Ořezání obrázku 7 TRANSFORMACE 9 Rotace 9 Překlopení 11 Perspektiva
Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv. V prostředí společnosti. Pražská vodohospodářská společnost a.s.
Uživatelská příručka Evidence příchozí a odchozí pošty a elektronický archiv V prostředí společnosti Pražská vodohospodářská společnost a.s. Obsah 1. ÚVOD... 5 2. PROSTŘEDÍ WORKSPACE... 5 2.1 TECHNOLOGIE
10. Editor databází dotazy a relace
10. Editor databází dotazy a relace Dotazy Dotazy tvoří velkou samostatnou kapitolu Accessu, která je svým významem téměř stejně důležitá jako oblast návrhu a úpravy tabulek. Svým rozsahem je to ale oblast
5 Rekurze a zásobník. Rekurzivní volání metody
5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení
Bakalářská práce Implementace algoritmu šachové hry
Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Bakalářská práce Implementace algoritmu šachové hry Plzeň, 2013 Jan Sehnal Prohlášení Prohlašuji, ţe jsem
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Desková hra s podporou hraní po síti Lovci pokladů.
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Desková hra s podporou hraní po síti Lovci pokladů 2011 Jan Meluzín Anotace Cílem práce bylo vytvořit počítačové zpracování
SPRÁVNÉ ŘEŠENÍ ÚLOH DEMOTESTU V KATEGORII BENJAMIN. soutěže BOBŘÍK INFORMATIKY 2009. U každé otázky najdete znění správné odpovědi a zdůvodnění.
Stránka č. 1 z 12 SPRÁVNÉ ŘEŠENÍ ÚLOH DEMOTESTU V KATEGORII BENJAMIN soutěže BOBŘÍK INFORMATIKY 2009 U každé otázky najdete znění správné odpovědi a zdůvodnění. Zašifrovaný směr - verze lehčí Bobři používají
PRAVIDLA HRY S VÝKLADEM...
1 Obsah OBSAH PRAVIDLA HRY S VÝKLADEM... 3 1. Obecné pokyny... 3 2. Zahájení partie... 4 3. Braní zajatců... 5 4. Zákaz sebevraždy... 7 5. Výjimka ze zákazu sebevraždy... 8 6. Pravidlo kó... 10 7. Pravidlo
Kubatury, hydraulika vodní toky 4
AutoPEN, Ing. Lubomír Bucek, Halasova 895, 460 06 Liberec 6 www.autopen.net, autopen@volny.cz 481 120 160, 606 638 253 Kubatury, hydraulika vodní toky 4 Uživatelský manuál obsah Kapitola Stránka 1 Instalace
Studentská tvůrčí a odborná činnost STOČ 2015
Studentská tvůrčí a odborná činnost STOČ 2015 NÁVRH A REALIZACE ALGORITMU PRO SYSTÉM LIMITNÍHO OZAŘOVÁNÍ David OCZKA Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky
SMARTÍK. GLOSYCO s.r.o., Jabloňová 3000/15, 106 00 Praha 10 Zahradní město, Tel: + 420 222 353 230, www.goldentoys.cz. Návod
SMARTÍK TM GLOSYCO s.r.o., Jabloňová 3000/15, 106 00 Praha 10 Zahradní město, Tel: + 420 222 353 230, www.goldentoys.cz Návod TM 12 ÚVOD SMARTÍK chytrým a důmyslným způsobem podporuje rozvoj Vašeho dítěte.
Maticové operace projekt č. 3
Dokumentace k projektu pro předměty IZP a IUS Maticové operace projekt č. 3 9.12.2007 Autor: Václav Uhlíř, xuhlir04@stud.fit.vutbr.cz Fakulta Informačních Technologii Vysoké Učení Technické v Brně Obsah
PRAVIDLA FOTBALU 1) HRACÍ PLOCHA. Rozměry hrací plochy. Pokutové území
PRAVIDLA FOTBALU 1) HRACÍ PLOCHA Rozměry hrací plochy Hrací plocha musí mít tvar obdélníku. Délka hrací plochy musí být větší než šířka. Délka: minimum 25 m, maximum 42 m Šířka: minimum 15 m, maximum 25
Práce s velkými sestavami
Práce s velkými sestavami Číslo publikace spse01650 Práce s velkými sestavami Číslo publikace spse01650 Poznámky a omezení vlastnických práv Tento software a související dokumentace je majetkem společnosti
Hra obsahuje: Příprava na hru: Desková hra pro odvážné dobrodruhy s chladnou hlavou č e s k ý n á v o d
Desková hra pro odvážné dobrodruhy s chladnou hlavou č e s k ý n á v o d Počet hráčů: 2-4 Věk hráčů: 10-99 let Hra obsahuje: 1 herní plán 36 šestiúhelníkových tabulek, znázorňujících prostor, odhalovaný
Počítačové šachy. Otakar Trunda
Počítačové šachy Otakar Trunda Hraní her obecně Hra je definovaná pomocí: Počáteční situace Funkce vracející množinu přípustných tahů v každé situaci Ohodnocení koncových stavů Našim cílem je najít strategii
MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ
MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ 1 OBSAH 1.Popis... 3 2.Ovládání aplikace...3 3.Základní pojmy... 3 3.1.Karta...3 3.2.Čtečka...3 3.3.Skupina...3 3.4.Kalendář...3 3.5.Volný
Masarykova univerzita. Fakulta informatiky. Evoluce pohybu
Masarykova univerzita Fakulta informatiky Evoluce pohybu IV109 Tomáš Kotula, 265 287 Brno, 2009 Úvod Pohyb je jedním ze základních projevů života. Zdá se tedy logické, že stejně jako ostatní vlastnosti
Dinosauří Člověče nezlob se
Dinosauří Člověče nezlob se Hra pro 2 až 4 hráče od 4 let. Každý dětský soubor her musí obsahovat nejoblíbenější hru Člověče nezlob se. Zahrajte si tuto klasiku hracím plánu s dinosaury. 1.1. Každý hráč
X-Sign Basic Uživatelská příručka
X-Sign Basic Uživatelská příručka Copyright Copyright 2015, BenQ Corporation. Všechna práva vyhrazena. Žádná část této publikace nesmí být reprodukována, přenášena, přepisována, ukládána do systému pro
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA INFORMAČNÍCH TECHNOLOGIÍ. Uživatelská příručka k programu FloodFilling Art
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA INFORMAČNÍCH TECHNOLOGIÍ Uživatelská příručka k programu FloodFilling Art Autor: Jan Bílek e-mail: xbilek14@stud.fit.vutbr.cz 8. 4. 2009 Obsah 1 Princip vytváření
Uživatelská příručka - Naves
Co je hra Lodě? Uživatelská příručka - Naves Lodě je tipovací hra pro dva hráče. Je rozšířena po celém světě jako hra pro tužku a papír, jejíž začátky se datují na období první světové války. Dnes se vyskytuje
Pravidla badminton, squash
Masarykova univerzita Fakulta sportovních studií Pravidla badminton, squash PŘÍLOHA METODICKÉ PŘÍRUČKY Martina Bernacíková, Zora Svobodová Brno 2011 Publikace byla zpracována v rámci realizace projektu
Dokumentace programu piskvorek
Dokumentace programu piskvorek Zápočtového programu z Programování II PRM045 Ondřej Vostal 20. září 2011, Letní semestr, 2010/2011 1 Stručné zadání Napsat textovou hru piškvorky se soupeřem s umělou inteligencí.
Nástroj WebMaker TXV 003 28.01 první vydání Únor 2009 změny vyhrazeny
Nástroj WebMaker TXV 003 28.01 první vydání Únor 2009 změny vyhrazeny 1 TXV 003 28.01 Historie změn Datum Vydání Popis změn Únor 2009 1 První verze (odpovídá stavu nástroje ve verzi 1.6.2) Obsah 1 Úvod...3
Automatický přenos dat z terminálů BM-Finger
Automatický přenos dat z terminálů BM-Finger Tento program při normálním používání docházky nepotřebujete. V docházce se v menu Firma / Terminály BM-Finger nastavuje automatické stahování dat v položce
Knihomol. Manuál pro verzi 1.2
Knihomol Manuál pro verzi 1.2 Strana - 2 - I. Základy práce s programem Úvod do práce s programem Knihomol: Program knihomol slouží pro vedení evidence spojené s provozem malé knihovny. Je určen především
Uživatelský manuál Radekce-Online.cz
Uživatelský manuál Radekce-Online.cz (revize 06/2011) V prvním kroku třeba vstoupit do administrace na adrese www.redakce-online.cz kterou naleznete na záložce Administrace / Vstup do Administrace, pro
Implementace A* algoritmu na konkrétní problém orientace v prostoru budov
Implementace A* algoritmu na konkrétní problém orientace v prostoru budov Popis problému Orientaci ve známém prostředí lze převést na problém nalezení cesty z místa A do místa B. Obecně platí, že robot
GRAFY A GRAFOVÉ ALGORITMY
KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO GRAFY A GRAFOVÉ ALGORITMY ARNOŠT VEČERKA VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ
Eufrat a Tigris HRACÍ MATERIÁL PŘÍPRAVA NA HRU. Sestavení monumentů. Příprava hrací desky. Výběr dynastie
HRACÍ MATERIÁL Eufrat a Tigris 1 hrací deska 153 civilizačních kartiček - 30 černých osady - 57 červených chrámy - 36 modrých farmy - 30 zelených tržiště 8 kartiček katastrof 4 spojovací kartičky 4 kartičky
CÍL HRY HERNÍ MATERIÁL PŘÍPRAVA HRY
VÝSTAVBA PRVNÍ ČÁSTI POBŘEŽÍ Začíná hráč se světlými figurkami. Táhne vrchní krajinu z balíčku a přiloží ji ke krajině s delfínem uprostřed stolu. Nakonec položí jednoho svého Řeka do města, jednu svou
Příručka aplikace Shisen-Sho. Dirk Doerflinger Eugene Trounev Frederik Schwarzer Kontrolor: Frerich Raabe
Dirk Doerflinger Eugene Trounev Frederik Schwarzer Kontrolor: Frerich Raabe Překlad: Lukáš Vlček 2 Obsah 1 Úvod 5 2 Jak hrát 6 3 Herní pravidla, strategie a tipy 7 3.1 Pravidla...........................................
MAPOVÉ OKNO GSWEB. Nápověda. Pohyb v mapovém okně Výběr v mapovém okně. Panel Ovládání Panel Vrstvy. Tisk Přehledová mapa Redlining Přihlásit jako
GSWEB Nápověda 1. Mapové okno Pohyb v mapovém okně Výběr v mapovém okně 2. Ovládací panel a panel vrstev Panel Ovládání Panel Vrstvy 3. GSWeb - roletové menu Tisk Přehledová mapa Redlining Přihlásit jako
Předpisy WPA Strana 1 z 7
Předpisy WPA Strana 1 z 7 Obsah strana 1. Správní pravomoc 2 2. Výjimky z pravidel 2 3. Oblečení 2 3.1 Muži 2 3.2 Ženy 2 4. Stavění / naklepání koulí 2 5. Hra s plošnými rozhodčími. 3 6. Penalizace nesportovního
Josef Pecinovský PowerPoint 2007
Josef Pecinovský PowerPoint 2007 Jak na PowerPoint 2007 v rekordním čase Josef Pecinovský Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 3054. publikaci Odpovědný redaktor Karel Samohýl
Sestavy dlaždic. Příprava dlaždic pro definici sestavy
Sestavy dlaždic Sestava dlaždic je předem připravené a na disk uložené uspořádání dlaždic, které lze pokládat buďto jednotlivě nebo na celou určenou plochu. Jedna sestava dlaždic může obsahovat dlaždice
Před první hrou setřiďte karty podle přiloženého pořadníku do drážek v krabici. 500 karet 130 karet peněz Název
Něco visí ve vzduchu. Správce vypadá, jako by skrýval tajemství. Tvůj věrný sluha tě však varuje. Chystá se spiknutí. Tohle si přece nenecháš líbit. Vymysli vlastní plán, využij svého vlivu a známostí.
Poté hráči spočtou své Body prestiže a vítězem se stává ten, kdo jich nashromáždil nejvíce.
Pravidla hry Rokoko Cíl hry V Rokoku se stáváte majitelem oděvnické dílny na dvoře francouzského krále Ludvíka XV., kde se snažíte získat co nejvíce prestiže. Během každého tahu zahrajete kartu jednoho
Návod: Ulož hru: Stručný popis: Požadavky: Jak začít hrát? Měna. Plynutí času: Hlavní prostředí hry: HRA
Návod na hru Stručný popis: Fs je fotbalový simulátor založený na simulaci fotbalového dění za 1 sezónu. Nejedná se o klasický manažer, protože nemanipulujete s hráči, ale pouze s týmem jako celek. Kromě
Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu.
Školení programu TopoL xt Přechod na TopoL xt z programu TopoL pro Windows Cíl: Obsah: Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností
Interaktivní mapy ÚAP Uživatelská příručka
Interaktivní mapy ÚAP Uživatelská příručka Verze: 1.0 Podpora: GEOREAL spol. s r.o. http://www.georeal.cz email: podpora@georeal.cz Hot-line: 373 733 456 Běhové prostředí: Microsoft Internet Explorer,
VYTVÁŘENÍ A MANAGEMENT TESTŮ A PROJEKTŮ
VYTVÁŘENÍ A MANAGEMENT TESTŮ A PROJEKTŮ RNDr. Petra Poulová, Ph.D. Ing. Hana Šrámková Fakulta informatiky a managementu Univerzity Hradec Králové Projekt je spolufinancován Evropským sociálním fondem a
SCIA.ESA PT. Galerie výkresů
SCIA.ESA PT Galerie výkresů 2 VÍTEJTE 5 GALERIE VÝKRESŮ 6 Otevření Galerie výkresů... 6 Správce Galerie výkresů... 6 STRÁNKA VÝKRESU 8 Vložit obrázek... 10 Vlastnosti obrázku... 14 Hlavička a razítko...
Program je určen pro děti se specifickými poruchami učení.
Program je určen pro děti se specifickými poruchami učení. Program byl vyvinut ve spolupráci s Okresní pedagogicko - psychologickou poradnou v Klatovech Co oceníte: Program lze velice snadno modifikovat
Zahrajeme si kopanou 1
Zahrajeme si kopanou 2 3 5 6 7 8 9 0 Fotbal Stolní hra na logickém základu inspirovaná fotbalem Pravidla a situace této hry vychází ze skutečného fotbalu. Vyhraje ten, kdo prokáže více opravdového fotbalového
V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a
1 Počítače CISC a RISC V dnešní době se ustálilo dělení počítačů do dvou základních kategorií podle typu použitého procesoru: CISC - počítač se složitým souborem instrukcí (Complex Instruction Set Computer)
Jednoduchá fotográfická retuš
Jednoduchá fotográfická retuš Úvod Během let, kdy vyučuji počítačovou grafiku, jsem zjistila, že žáky velmi láká a zajímá fotografická retuš a různá úprava fotografií. Z tutoriálů nalezených na internetu
Uživatelský manuál programu WZORKY. pro vyčítání historických databank. z regulátorů PROMOS line 2
PROMOS line 2 Uživatelský manuál programu WZORKY pro vyčítání historických databank z regulátorů PROMOS line 2 Jaselská 177, 280 02 Kolín 3 tel./fax: 321 727753 verze 1.0 09/02 2002 sdružení ELSACO 11.9.2002
VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů
VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Hlavní specializace: Ekonometrie a operační výzkum Název diplomové práce Optimalizace trasy při revizích elektrospotřebičů Diplomant: Vedoucí
Pracovní list: Práce s počítačovou myší. Číslo: PL 06.02.01 /verze 01. Vincentinum poskytovatel sociálních služeb Šternberk, p.o.
Vincentinum poskytovatel sociálních služeb Šternberk, p.o. Pracovní list: Práce s počítačovou myší Metodický okruh: 06. KOGNITIVNÍ TRÉNIN Číslo: PL 06.02.01 /verze 01 Metodický postup: 6.2. Příprava na
Obsah. Ukládáme sešit 31 První uložení sešitu 31 Jak pracovat se složkami 33 Ukládání již jednou uloženého sešitu 34 Ukončení práce v Excelu 36
Obsah Úvodem 7 Co je třeba znát 7 Jak je kniha napsána 8 Jak psát na klávesnici 8 Jak ovládat myš 10 Kde je na monitoru ukazatel myši 10 Pohyb myši 10 Tlačítka myši co to znamená klepnout a poklepat 11
4.1.3. Kategorie 12 let a mladší
4.1.3. Kategorie 12 let a mladší Hra hráči proti brankáři Pět nebo i více hráčů kolem branky utvoří kruh s jedním hráčem mezi kruhy, který je střelec. Střelec se pokouší vstřelit branku, zatímco ostatní
Uživatelský manuál verze BP
Multifunkční pedometr Uživatelský manuál verze BP www.e-corazonplus.cz 1 Co je ecorazon+? ecorazon+ je multifunkční zařízení s USB připojením k PC a kompatibilním zařízením, a s následujícími funkcemi:
DUM 14 téma: Barevné korekce fotografie
DUM 14 téma: Barevné korekce fotografie ze sady: 2 tematický okruh sady: Bitmapová grafika ze šablony: 09 Počítačová grafika určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace:
Napínavé soutěžení pro 2 až 4 hráče od 9 let.
CZ Napínavé soutěžení pro 2 až 4 hráče od 9 let. Autoři: Günter urkhardt a Wolfgang Kramer Ilustrace: Franz Vohwinkel Design: DE Ravensburger, KniffDesign (playing instructions) Editorial work: Philipp
PROGRAM AZA Control návod k použití
PROGRAM AZA Control návod k použití AZA Control je uživatelský program určený ke správě přístupových práv, archivaci systémových událostí a konfiguraci elektromotorických zámků CERBERIUS pracujících v
2. Řešení úloh hraní her Hraní her (Teorie a algoritmy hraní her)
Hraní her (Teorie a algoritmy hraní her) 4. 3. 2015 2-1 Hraní her pro dva a více hráčů Počítač je při hraní jakékoli hry: silný v komplikovaných situacích s množstvím kombinací, má obrovskou znalost zahájení
3. série 2015/2016. Termín odeslání 3. série: 13. 3. 2016
Milý řešiteli, vítáme Tě u 3. a zároveň poslední série úloh 2. ročníku korespondenčního semináře MoRoUS. Takže neváhej a pořádně zabojuj o místa ve výsledkové listině, protože nehrajeme jen o ceny, ale
Reliance 3 design OBSAH
Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních
Návod k používání webové služby ABA-DOPRAVNÍ INFORMACE
Návod k používání webové služby ABA-DOPRAVNÍ INFORMACE 1. Vstupní obrazovka aplikace 1.1. Tabulka Historie Vašich objednaných dopravních informací : V tabulce budete vidět Vámi objednané požadavky na zasílání
Oficiální výklad pravidel FIBA. platné od 1.10.2008
Oficiální výklad pravidel FIBA platné od 1.10.2008 Zpracoval: Mgr. Robert Vyklický národní instruktor FIBA Oficiální výklad FIBA 2008 1 Čl. 5 Hráči zranění Ustanovení 1 Jestliže hráč je zraněný nebo vypadá,
Rozdílová dokumentace k ovládání IS KARAT.net
Dokumentace k IS KARAT.net Rozdílová dokumentace k ovládání IS KARAT.net programový modul: Rozdílová dokumentace k ovládání IS KARAT.net OBSAH: 1 ÚVOD... 3 2 PŘIHLAŠOVACÍ DIALOG... 4 3 NAVIGACE... 5 3.1
Laboratorní zdroj - 6. část
Laboratorní zdroj - 6. část Publikované: 20.05.2016, Kategória: Silové časti www.svetelektro.com V tomto článku popíšu způsob, jak dojít k rovnicím (regresní funkce), které budou přepočítávat milivolty
Na základě Business Targets autora Simona Greenalla, vydaných nakladatelstvím Macmillan Heinemann English Language Teaching (Oxford).
LANGMaster International, s.r.o. Branická 107, 147 00 Praha 4 Česká republika Tel.: +420 244 460 807, +420 736 623 459 Fax: +420 244 463 411 e-mail: info@langmaster.cz http://www.langmaster.cz Na základě
2 hráči Grand Slam. Týmy. Tiráž. Během přípravy hry si každý hráč zvolí dva titány. Složte herní plán ze tří okruhů dle své volby.
VaRIaNTy hráči Grand Slam Během přípravy hry si každý hráč zvolí dva titány. Při hře se postupně střídají (hráč A hraje prvního titána, hráč B hraje prvního titána, hráč A hraje druhého titána, hráč B
Mlýnek (typový výrobek)
Mlýnek (typový výrobek) Popis: Středověká a dodnes oblíbená desková hra, známá po celé Evropě (například u Velkomoravanů). Hra je určena pro dva hráče. Počet žetonů celkem: 9 vs. 9 Parametry: Čtvercová
Kapitola 1: Úvodní strana PARTICLER
Kapitola 1: Úvodní strana PARTICLER OBSAH Úvod 1.O Particleru 2.Popis programu 2.1 Hlavní okno programu 2.1.1 - Horní lišta 2.1.1.1 Soubor 2.1.1.2 Vzhled 2.1.1.3 - Nastavení 2.1.1.4 - Pomoc 2.1.2 - Pracovní
MLE2 a MLE8. Datalogery událostí
MLE2 a MLE8 Datalogery událostí Zapisovač počtu pulsů a událostí Návod k obsluze modelů MLE2 MLE8 Doporučujeme vytisknout tento soubor, abyste jej mohli používat, když se budete učit zacházet se zapisovačem.
OBSAH. ÚVOD...5 O Advance CADu...5 Kde nalézt informace...5 Použitím Online nápovědy...5. INSTALACE...6 Systémové požadavky...6 Začátek instalace...
OBSAH ÚVOD...5 O Advance CADu...5 Kde nalézt informace...5 Použitím Online nápovědy...5 INSTALACE...6 Systémové požadavky...6 Začátek instalace...6 SPUŠTĚNÍ ADVANCE CADU...7 UŽIVATELSKÉ PROSTŘEDÍ ADVANCE
Pravidla turnaje v malé kopané. O pohár starosty obce Dolní Lánov
Pravidla turnaje v malé kopané O pohár starosty obce Dolní Lánov Pravidlo 1 Hrací plocha I. Hrací plocha malého fotbalu 5 + 1 (dále jen MF) má tvar obdélníku: délka 44 54 m, šířka 22 30 m. II. Brankové
CHYTRÝ FOTBAL. fotbal.indd 1 22.5.2012 15:16:03
CHYTRÝ FOTBAL 1 2 3 4 5 6 7 8 9 10 11 fotbal.indd 1 22.5.2012 15:16:03 Chytrý fotbal Stolní logická hra inspirovaná fotbalem Pravidla a situace této hry vychází ze skutečného fotbalu. Vyhraje ten, kdo
Funkce Chytrý dotyk. verze 1.4. A-61629_cs
Funkce Chytrý dotyk verze 1.4 A-61629_cs Používání funkce chytrého dotyku Obsah Přehled... 1 Spuštění funkce chytrého dotyku... 2 Používání funkce chytrého dotyku s výchozími čísly funkcí a předem definovanými