PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Desková hra s podporou hraní po síti Lovci pokladů.



Podobné dokumenty
PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY ROČNÍKOVÝ PROJEKT KLOKAN. Informatika, II. ročník

Celotáborová hra - motivace

MS WINDOWS UŽIVATELÉ

Konfigurace pracovní stanice pro ISOP-Centrum verze

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Vytváření a evidence smluv Petr Čulík

M I S Y S - W E B. Intranet řešení systému MISYS. Verze Příručka uživatele

Hra obsahuje: Příprava na hru: Desková hra pro odvážné dobrodruhy s chladnou hlavou č e s k ý n á v o d

LuxRiot uživatelský manuál verze Uživatelský manuál Verze , Stasa s.r.o.,pokorného 14, , PRAHA

ZoomText 10.1 pro Windows. Dodatek k uživatelské příručce

Uživatelská příručka

Archive Player Divar Series. Návod k obsluze

českém Úvod Obsah balení IP004 Sweex Wireless Internet Phone

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 instalaci a popis změn

Univerzální rezervační systém. Uživatelská příručka

MAWIS. Uživatelská dokumentace

Program je určen pro děti se specifickými poruchami učení.

Průvodce instalací a spuštěním. Pro DataPage+ 2012

MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ

Obsah 1/11. PDF byl vytvořen zkušební verzí FinePrint pdffactory

ALFIS 2014 komplexní ekonomický systém verze

Vítejte v průvodci instalace a ovládání výukového softwaru edu-learning pro českou verzi Microsoft Office 2007.

1. SMART Notebook 11.1

TouchPad a klávesnice

CUZAK. Instalační příručka. Verze

CUZAK. Instalační příručka. Verze

Elektronizace správních řízení a jejich příprava na základní registry

LabelShop 8. Stručná úvodní příručka. Quick Start Guide

SEZNÁMENÍ S PROGRAMEM

Návod k použití webového portálu služby viphone business

Technologie počítačových sítí 1. cvičení

UZ modul VVISION poslední změna

Funkce Chytrý dotyk. verze 1.4. A-61629_cs

Word 2007 Word 2007 egon. Spuštění, vzhled, zobrazení dokumentu

Dinosauří Člověče nezlob se

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

1. POŽADAVKY NA OPERAČNÍ SYSTÉM A POČÍTAČ INSTALACE NASTAVENÍ A SPUŠTĚNÍ APLIKACE OVLÁDÁNÍ A NASTAVENÍ ZVLÁŠTNÍCH FUNKCÍ...

UniLog-L. v0.81 návod k obsluze software. Strana 1

Uživatelská příručka ISKP14+ pro Integrované nástroje: Žádost o podporu strategie ITI/IPRÚ

a autentizovaná proxy

NÁVOD K POUŽITÍ SET-TOP-BOXU ARRIS VIP 1113

NÁVOD NA INSTALACI KARTY PCTV DELUXE

ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44)

Informační Systém pro Psychiatrii HIPPO

Na základě Business Targets autora Simona Greenalla, vydaných nakladatelstvím Macmillan Heinemann English Language Teaching (Oxford).

Uživatelský manuál. A3600 DL ( Data Download)

NÁVOD NA INSTALACI KARTY PCTV USB2

Konfigurace pracovní stanice pro ISOP-Centrum verze

Ukázka knihy z internetového knihkupectví

DUM 01 téma: Úvod do Corelu

Souhrn. Cíl hry. Autoři: Marco Rusowski a Marcel Süßelbeck

eliška 3.04 Průvodce instalací (verze pro Windows 7) w w w. n e s s. c o m

MLE2 a MLE8. Datalogery událostí

STRUč Ná Př íruč KA pro Windows Vista

Uživatelská příručka pro Příkazce / Správce zdrojů financování. Projekt DMS modul Faktury

Josef Pecinovský PowerPoint 2007

CTUGuide (XXX-KOS) D1

Instalace aplikace Profibanka

STRUČNÝ PRŮVODCE (ČEŠTINA)

Univerzita Palackého v Olomouci. Služby spojené s Active Directory

Návod pro aktualizaci map a navigačního softwaru pro přístroje ZENEC ZE-NC526 pomocí Toolbox

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Obslužný software. PAP ISO 9001

Varování: před aktualizací odpojte ipod, během aktualizace nevypínejte přístroj a neodpojujte flash disk s aktualizačními soubory!

CE - Prohlášení Prohlašujeme, že TEAC MEDIA SYSTEMS IP-20 USB Telefon splňuje následující normy a dokumenty: EMC Directive 89/336 / EEC

Univerzita Jana Evangelisty Purkyně v Ústí nad Labem. Jak na PDF

18 tabulek 6 ostrovů 6 pirátských lodí 6 domorodých vesnic 30 žetonů mincí 20 žetonů embarga 26 podkladových karet

WC053 - Foldable Hi-Def 1.3M Trackcam USB 2.0

WinTV-HVR-930C-HD WinTV-HVR-930C WinTV-HVR-900-HD WinTV-HVR-900

Návod pro aktualizaci map a navigačního softwaru pro přístroje ZENEC E>GO (ZE-NC2010, ZE-NC2040, ZE-NC3810, ZE-NC5010) pomocí Toolbox a Synctool

Program pro flexibilní tvorbu evidencí. VIKLAN - Evidence. Uživatelská příručka. pro seznámení se základními možnostmi programu

Výklad učiva: Co je to počítač?

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Software. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám

INSTALAČNÍ MANUÁL pro aplikaci ihc-mirf

Kapitola 1: Úvodní strana PARTICLER

MATURITNÍ PRÁCE dokumentace

Děkujeme vám, že jste si zakoupili přístroj The Little Black Box. Níže uvedené rady by vám měly pomoci s jeho instalací.

Vestavěné skříně Uživatelská příručka

Kurz Word 2000 Odrážky a číslování Kurz Word 2000 Odrážky a číslování Oddíly Záhlaví a zápatí

Projekt. Jan Outrata. listopad Jan Outrata (KI UP) Projekt - analýza a návrh listopad / 13

NÁVOD K POUŽITÍ SET-TOP BOXU MOTOROLA VIP 1003

e Utility Report Vyjadřování k existenci sítí

Úvod...12 Součásti aplikace Použité konvence... 13

Návod k obsluze Bakalářská práce Autor Vedoucí práce Škola Obor Webový systém pro konfiguraci disperzního modelu

Program. Uživatelská příručka. Milan Hradecký

Parametrizace, harmonogram

Ukazovací zařízení a klávesnice Uživatelská příručka

Generování žádostí o kvalifikovaný certifikát a instalace certifikátu Uživatelská příručka pro prohlížeč Internet Explorer

Po nastudování této kapitoly byste měli být schopni:

INSTALAČNÍ MANUÁL. TME gadget

Školní knihovna pro Windows. Verze 2.0

Techanxx USB 2.0 Digital Video Scart Grabber Audio & Video / SCART Převodník Digitalizujte si své staré videokazety VHS! Uživatelský Manuál

Postup při instalaci a nastavení programu

MANUÁL. k snadnému vyplnění webové žádosti o dotaci z Královéhradeckého kraje. Zpracoval: Ing. Marcel Zadrobílek, vedoucí oddělení krajských dotací

VYTVÁŘENÍ OBSAHU KURZŮ

Point of View TAB-P731N- Android 4.0 Tablet PC. Čeština. Obsah

Veřejné. Aplikace EP2W. Uživatelská příručka pro externího uživatele

Transkript:

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í deskové hry Lovci pokladů. Zadání zahrnovalo fungování hry po síti. K programování jsem využil jazyk Microsoft Visual C# 2008 včetně platformy XNA. V práci jsem se pokusil nastínit tvorbu programu a její součástí jsou i pravidla hry.

Mé díky patří vedoucímu mé práce, za objektivní kritiku a trpělivost i rodičům za potřebnou podporu.

Obsah 1. Úvod 6 2. Pravidla hry 7 2.1. Cíl hry................................. 7 2.2. Začátek hry.............................. 7 2.3. Pohyb lodí............................... 7 2.4. Pohyb námořníků........................... 7 2.5. Základní pravidla........................... 7 2.6. Karty pokladů............................. 8 2.7. Symboly karet............................. 10 2.8. Zvláštní karty............................. 16 2.9. Taktická pravidla........................... 17 3. Uživatelská příručka 18 3.1. Požadavky na systém......................... 18 3.1.1. Software............................ 18 3.1.2. Hardware........................... 18 3.2. Uživatelská interakce......................... 18 4. Vývoj programu 20 4.1. Tvorba hry.............................. 20 4.2. Volba programovacího jazyka a frameworku, jeho výhody a nevýhody 20 5. Programátorská část - rozdělení projektu do tříd 21 5.1. Program.cs.............................. 21 5.2. GameLogic.cs............................. 21 5.3. Networking.cs............................. 21 5.4. TreasureHunters.cs.......................... 21 5.5. Pitate.cs................................ 22 5.6. Player.cs................................ 22 5.7. Card.cs................................. 22 5.8. Ship.cs................................. 22 5.9. LoadCards.cs............................. 22 Závěr 23 Reference 24 A. Obsah přiloženého DVD 25 4

Seznam obrázků 1. poklad 4 x 50.............................. 8 2. poklad 3 x 100............................. 8 3. poklad 3 x 200............................. 8 4. poklad 3 x 300............................. 9 5. poklad 600............................... 9 6. Větrná růžice.............................. 10 7. Mořský koník.............................. 10 8. Delfín.................................. 11 9. Hvězdice................................ 11 10. Žralok.................................. 12 11. Rejnok................................. 12 12. Želva.................................. 13 13. Chobotnice............................... 13 14. Uragán................................. 14 15. Ostrov.................................. 14 16. Volné moře............................... 15 17. Sopky.................................. 15 18. Neptun................................. 16 19. Panna.................................. 16 20. Vysvětlení ke hře............................ 19 5

1. Úvod Pro svou bakalářskou práci jsem se rozhodl programovat hru. Hraní her je mým koníčkem a je v současnosti čím dál víc populární. Z důvodu znalosti deskové hry Lovci pokladů, se možnost implementovat tuto hru, jevila jako ideální řešení. Deskovou hru Lovci pokladů jsem si také vybral jako jednu z mnoha, pro její hratelnost a zajímavé grafické ztvárnění, ve kterém ji vydalo seskupení DISK Říčany. Zbývalo vybrat programovací jazyk a začít s analýzou hry. Žádné prostředí se mi nezdálo natolik vhodné jako XNA pro jazyk Microsoft Visual C#. Zvolil jsem jej tedy, a proto se mu ve své práci krátce věnuji. 6

2. Pravidla hry Následující pravidla hry jsou oficiální, v sekci taktická pravidla jsou provedeny úpravy, což výrobce hry umožňuje. 2.1. Cíl hry Hra je určena pro 2 až 4 hráče. Každý hráč - lovec pokladů - má pro své výpravy k dispozici loď a čtyři námořníky. Cílem hry je nalézt, ochránit před ostatními hráči a dopravit na loď co nejvyšší hodnotu pokladů. 2.2. Začátek hry Karty se symboly (81 ks) se zamíchají a otočí neutrální stejnobarevnou plochou nahoru a sestaví k sobě do čtverce 9x9 karet. Do středu čtverce se umístí karta větrné růžice, která má všechny šipky žluté. Tato karta se jako jediná položí obrázkem nahoru. 2.3. Pohyb lodí Lodě se ve hře pohybují pouze po obvodu čtverce, který představuje mořskou hladinu, a to vždy o jednu kartu doprava nebo doleva. Lodě nevstupují na karty. Hráč si může vybrat mezi tahem lodí nebo figurkou, pokud mu další pravidla neurčí jinak. V jednom tahu nelze pohybovat zároveň lodí i námořníkem. 2.4. Pohyb námořníků Námořník smí vstoupit do moře pouze z lodi, a to jen v kolmém směru. Šikmo přes rohy karet se z lodi vystupovat a do ní nastupovat nesmí. Uvnitř hracího pole se smí námořník pohybovat všemi směry, kolmo i šikmo do všech stran, ale pouze o jedno políčko, pokud mu karta nepřikáže jiný druh pohybu. 2.5. Základní pravidla Podle určeného pořadí vstupují hráči s námořníky do hracího pole s cílem objevit poklady a dopravit je na vlastní loď. Před každým pohybem hráč obrátí dosud neobrácenou kartu, na kterou se chystá vstoupit. Tyto karty svými symboly buď ovlivňují jeho další pohyb, nebo představují poklady, které hráč hledá. Po obrácení zůstává karta po zbytek hry otočená obrázkem nahoru. Během hry může na obrácenou kartu vstoupit kterýkoliv jiný námořník a kartu podle jejího účinku využít. 7

2.6. Karty pokladů Obrázek 1. poklad 4 x 50. Obrázek 2. poklad 3 x 100. Obrázek 3. poklad 3 x 200. 8

Obrázek 4. poklad 3 x 300. Obrázek 5. poklad 600. Na uvedených kartách jsou vyobrazeny různé druhy pokladů a jim odpovídající hodnoty. Žetony uvedených hodnot se v uvedeném počtu položí na objevený poklad. Tyto žetony musí námořník po jednom odnosit na loď. Odnášení se provádí tak, že hráč s figurkou přesunuje i žeton. 9

2.7. Symboly karet Obrázek 6. Větrná růžice. Větrná růžice - námořník pokračuje v tahu směrem označeným žlutou šipkou. U růžic, které mají žluté šipky do více směrů, pokračuje hráč v tahu směrem podle vlastní volby. Obrázek 7. Mořský koník. Mořský koník - prodlužuje pohyb námořníka dle vlastní volby jako kůň v šachu. Buď o jedno pole vpřed a o dvě stranou, nebo o dvě vpřed a o jedno stranou. 10

Obrázek 8. Delfín. Delfín - námořník pokračuje o jedno až dvě pole v libovolném směru. Obrázek 9. Hvězdice. Hvězdice - námořník se vrátí o dvě políčka zpět tím směrem, ze kterého na hvězdici narazil. Pokud námořník nese poklad, zanechá ho na posledním políčku před hvězdicí. 11

Obrázek 10. Žralok. Žralok - námořník se stal obětí žraloka a je pro další hru ztracen. Figurka vypadává ze hry. Obrázek 11. Rejnok. Rejnok - námořník je úderem rejnoka vržen mimo hrací pole ve směru jeho ocasu. Pokud nese poklad, zanechá ho na posledním poli, ze kterého na rejnoka narazil. Aby se námořník mohl dostat zpět do hry, musí nejprve dosáhnout vlastní lodi. Pohybem o jedno pole po obvodu herního plánu na loď doplave, nebo pro něj loď stejným způsobem dojede. Brání-li námořníkovi v pohybu cizí loď, může být touto lodí zajat a musí majiteli lodi sloužit. 12

Obrázek 12. Želva. Želva - námořník je při setkání s želvou zdržen a jeden tah s ním hráč nesmí hrát. Může provést tah buď lodí, nebo jiným námořníkem. Na tuto kartu se smí vstoupit i s neseným pokladem. Obrázek 13. Chobotnice. Chobotnice - ze zajetí chobotnice lze námořníka osvobodit jen dalším vlastním námořníkem. Pokud na tuto kartu vstoupí cizí námořník, zajatá figurka je sice osvobozena, ale musí se vrátit na svoji loď. Zajme-li chobotnice námořníka s pokladem, patří poklad osvoboditeli. 13

Obrázek 14. Uragán. Uragán - námořník je uragánem vržen zpět na vlastní loď. Pokud nese poklad, zanechá jej na poli, ze kterého na kartu uragán vstoupil. Obrázek 15. Ostrov. Ostrov - na tuto kartu lze vstoupit kdykoliv, ale pouze bez pokladu. Pokud námořník nese poklad, musí ho zanechat na posledním poli před vstupem na ostrov. 14

Obrázek 16. Volné moře. Volné moře - karty, které námořníka v ničem neomezují. Obrázek 17. Sopky. Sopky - sopky zdrží námořníka o jeden až tři tahy, podle počtu sopek na kartě. Hráč musí hrát v následujících tazích pouze lodí. 15

2.8. Zvláštní karty Obrázek 18. Neptun. Neptun - námořník, který kartu Neptuna objeví, může využít jeho moci a dostat se na libovolné pole herního plánu. Tuto kartu lze použít jen jednou během hry, ale nikoliv v tom tahu, kdy byla objevena. Obrázek 19. Panna. Mořská panna - přináší svému objeviteli jeden z objevených pokladů, který není střežen nebo nesen. Pomoc mořské panny lze využít v pozdějších tazích, a to pouze jednou. 16

Jestliže se hráč rozhodne pro pozdější využití těchto dvou zvláštních karet, musí na nich se svým námořníkem až do použití setrvat. Pokud se tyto karty před využitím uvolní, tj. nebude na nich žádný námořník, kouzlo nenávratně zaniká. 2.9. Taktická pravidla Pole, které je obsazeno dvěma námořníky ze stejné lodi, již nelze obsadit soupeřem, i kdyby soupeř mohl druhého hráče na tomto poli svými námořníky přečíslit. Objevený poklad se ještě nestává majetkem objevitele. Mohou o něj bojovat i ostatní hráči. Nese-li námořník poklad (žeton), může se soupeř žetonu zmocnit tak, že vstoupí na pole obsazené námořníkem s pokladem. Tento námořník je tím vyhozen na svoji loď a žeton zůstává na tomto poli. Poklad je v bezpečí teprve na lodi. Hra končí, jestliže jsou všechny poklady objeveny a odneseny na lodě. Vítězem se stává ten, kdo vlastní po skončení hry nejvyšší hodnotu pokladů. 17

3. Uživatelská příručka 3.1. Požadavky na systém 3.1.1. Software Hra je určena pro operační systém Windows XP SP2 a novější. Ke hře je třeba mít nainstalovaný Visual Studio 2008 včetně platformy XNA 3.0. To obnáší instalaci DirectX 9 nebo 10. 3.1.2. Hardware Minimální požadavky jsou 1.6 GHz CPU, 348 MB RAM, rozlišení obrazovky 1280*800. Grafická karta musí mít podporu ShaderModelu 2.0 a více. 3.2. Uživatelská interakce Pro hraní hry je třeba nejprve vytvořit herní profil. Po spuštění programu lze stisknutím tlačítka Home otevřít menu, zde vybrat položku Vytvořit nový profil, po čemž se otevře nové okno. V tomto okně je umístěn dole v textu odkaz vytvořit místní profil. Po kliknutí na tento odkaz a zvolení jména hráče stačí uložit profil kliknutím na tlačítko Hotovo. Po návratu do menu hry lze využít tlačítek pro vytvoření hry, připojení ke hře, nápovědu nebo ukončení hry. Zvolí-li hráč Vytvořit novou hru, zobrazí se mu herní plán a jeho loď. Nyní může čekat na hráče, kteří se připojí. Připojení ke hře probíhá automaticky k první vytvořené hře. Pokud hra již započala nebo jsou-li již připojeni čtyři hráči, lze se připojit na další hru, je-li vytvořena. Jakmile vstoupí hráči do hry, mohou pohybovat s lodí a nastavit ji tak na libovolnou výchozí polohu. Lodí lze pohybovat pomocí myši i kurzorových šipek. Samotná hra započne, jakmile vstoupí hráč, který hru vytvořil na první kartu. Poté se tahy předávají v pořadí, ve kterém se hráči přihlásili. Pomocí šipek na klávesnici je možné pohybovat pouze s lodí. Loď je možné ovládat také kurzorem. Pohyb námořníků se provádí myší, a to stiskem levého tlačítka, když je kurzor nad kartou, na kterou se má námořník posunout. Všechny karty, na které je možné námořníkem v daném tahu vstoupit, jsou zvýrazňovány oranžovým blikáním. V jednom tahu je možné s námořníkem navštívit i více karet, pokud to jejich funkce umožňuje. Pomocí pravého tlačítka je možné změnit obrázek kurzoru z kormidla na šipku. Je-li obrázek kurzoru šipka, je možné změnit aktuální objekt, se kterým chce hráč táhnout, tím že na něj hráč umístí kurzor a stiskne levé tlačítko. Narazí-li hráč na kartu s pokladem, jsou jednotlivé žetony zobrazeny, jak přímo na kartě, tak nad hracím plánem. Poklady je možné sebrat, právě stisknutím levého tlačítka v okamžiku, kdy kurzor je na žetonu zobrazeném nad hracím 18

plánem. Poklad nesený námořníkem se objeví na levé straně okna programu. Pokud je na něj kliknuto, je možné ho položit na kartu, na které námořník stojí. Využít zvláštní kartu pokud to pravidla umožňují lze kliknutím na její obrázek v levé části herního plánu. Pro zpřehlednění herní situace se v pravé horní části okna programu pro každého hráče svisle pod sebou zobrazuje jeho jméno, obrázek lodě, námořníci vyskytující se na lodi a nasbírané poklady. Nad herním plánem se objevují hlášky, informující o aktuálním stavu hry. Následuje obrázek přímo ze hry doplněný o šipky s popisky. Zelená šipka ve hře vždy ukazuje vybraný objekt. V situaci zobrazené na obrázku je vybrán námořník nesoucí poklad. Tento námořník stojí na nalezeném pokladu, takže jsou další dva žetony zobrazeny nad hracím plánem. Je vidět také zvláštní karta panna, kterou může hráč využít, o čemž je informován textem v rámu. Obrázek 20. Vysvětlení ke hře. 19

4. Vývoj programu 4.1. Tvorba hry Při vytváření modelu hry, jsem využil zkušenosti z druhého ročníku, ve kterém jsem jako softwarový projekt programoval počítačovou hru pexeso. U hry Lovci pokladů je také využit herní plán tvořen z karet poskládaných do tvaru čtverce. Další podoba byla u náhodného rozdání karet. Navíc přibyly políčka pro pohyb lodí po obvodu čtvercového plánu. Pokračoval jsem implementací pohybu lodí. Rozhodl jsem se jej zobrazovat plynule, jelikož platforma XNA se k tomu hodí a má to i dobrý vizuální efekt. Pohyb námořníků ovládaný myší už plynulý není, z důvodu zbytečného čekání, které by snižovalo hratelnost hry. U pohybu námořníků bylo třeba ošetřit stav, kdy se dvě figurky nacházejí na stejné kartě. Toto jsem vyřešil, posunem druhé figurky směrem ke středu karty. Přibylo i přepínání kursoru, aby bylo možné mezi figurkami vybrat tu, se kterou chce uživatel hrát. Pokračoval jsem implementací funkcí karet. Tyto jsem rozdělil do dvou skupin. V první jsou karty, které neumožní další výběr a automaticky po provedení funkce předají tah dalšímu hráči v pořadí. Ve druhé skupině, jsou naopak ty, u kterých může hráč pokračovat v tahu. Následující částí bylo přenášení pokladů námořníky a ukončení hry. Poté jsem přidal podporu hraní po síti s možností vytvoření a připojením se k hernímu serveru. V souvislosti s výskytem více hráčů ve hře bylo nutné zajistit předávání tahů. Nakonec zbylo vylepšení herního menu a textových vysvětlivek ke hře. Při průběhu byla hra testována, aby hráč musel dodržovat pravidla hry a finální verze byla bez chyb. 4.2. Volba programovacího jazyka a frameworku, jeho výhody a nevýhody Jednou z hlavních výhod tvorby hry na platformě XNA je jednoduchá práce s grafikou. Je to zásadní věc, protože u deskových her je herní grafika jednou z nejdůležitějsích věcí. Další znatelnou výhodou k výběru platformy XNA byla možnost využít její funkce pro hru po síti. A to především spuštění nebo vyhledání herních serverů na síti. Dále pak posílání a přijímání paketů s daty po síti. Platforma XNA je určena především pro programování her pro XBOX 360. Z tohoto důvodu Microsoft nevkládá do instalačního balíku XNA Redistributable, díky kterému jdou spustit hry v XNA na PC bez instalace kompletního programovacího prostředí, podporu pro hraní her po síti a je nutné nainstalovat i Microsoft Visual Studio s platformou XNA. 20

5. Programátorská část - rozdělení projektu do tříd 5.1. Program.cs Třída, ze které je spuštěna herní smyčka, konkrétní třídy TreasureHunters.cs 5.2. GameLogic.cs Nejobsáhlejší třída obsahující herní logiku hry. Vznikla už na počátku tvorby programu a obsahuje procedury pro výpočet souřadnic karet, náhodné rozmístění karet, výpočet souřadnic pro jednotlivé pozice, ve kterých se mohou vyskytovat objekty, pohybující se po okraji plánu. Jako herní komponenta obsahuje i herní smyčku, umožňující pomocí procedury Update kontrolování uživatelské interakce. Ve smyčce je také procedura Draw vykreslující lokální objekty a informace pro hráče. S uživatelskou interakcí souvisí logika hry zahrnující pohyb námořníků po herním plánu, včetně funkcí jednotlivých karet. Změny, které hráč vykoná, potom zapisuje do veřejných kolekcí, jenž jsou využity v třídě Networking. 5.3. Networking.cs Třída zajišťující fungování hry na síti. Je to jedna z komponent hry, tudíž se i zde opakuje herní smyčka. V proceduře Update je rozlišováno mezi herním Menu a samotnou hrou. Menu je velmi jednoduché - sestává pouze z několika možností, a to vytvoření herního serveru, připojení k hernímu serveru, zobrazení nápovědy a ukončení hry. Další je procedura UpdateNetworkSession, obsahující čtyři procedury. První z nich - UpdateLocalGamer zapisuje aktuální data od lokálních hráčů. Konkrétně tedy jednotlivé pozice herních objektů, jejich změny, a zda má být předán dále tah či ukončena hra. Tato data jsou na konci procedury zaslána na herní server. Stejná data zapisuje i server v proceduře UpdateServer, který navíc při připojení nového hráče zajišťuje zaslání informací o rozmístění konkrétních karet po herním plánu. Poté následuje část, kde jsou data čtena v procedurách ServerReadInputFromClients a ClientReadInputFromServer. Procedura Draw zde zajišťuje vykreslování Menu hry, v případě průběhu hry potom zobrazování pohybujících se herních objektů. 5.4. TreasureHunters.cs Hlavní komponenta hry, která vytváří dílčí komponenty GameLogic a Networking. Inicializuje a grafiku a nastavuje její parametry. 21

5.5. Pitate.cs Obsahuje procedury a proměnné, které jsou třeba pro objekt námořníka. Mezi ně patří například Draw pro vykreslení, Embark pro nalodění námořníka na jeho loď nebo SeaMoving pro plynulý pohyb, pokud je námořník vyhozen z herního plánu na jeho obvod. V proměnných jsou uchovávány především informace o pozici námořníka, jeho identifikaci, popř. hodnota neseného pokladu. 5.6. Player.cs Vytváří instance hráče zahrnující objekty, jako jsou lodě a námořníci. 5.7. Card.cs Tvoří jeden ze základních herních objektů, zastupuje kartu s jejími funkcemi. Patří do ní procedura Draw pro vykreslování karty s jejími poklady, dále CardIsVisited a CardIsLeaved sloužící k evidenci námořníků nacházejících se na kartě a SetCardChange pro změny provedené jinými hráči. 5.8. Ship.cs Obsahuje funkce potřebné pro vykreslení lodě a její herní implementaci jako je především plynulé přesouvání mezi pozicemi nad kartami. 5.9. LoadCards.cs Slouží k vytvoření kolekce karet v přednastaveném poměru konkrétních typů a k následné změně jejich pořadí v kolekci. 22

Závěr Výsledkem tvorby bakalářské práce je aplikace implementující deskovou hru Lovci pokladů. Hra je určena pro hraní ve více hráčích po počítačové síti. Důraz byl při tvorbě kladen nejen na funkčnost, ale i grafické zpracování a přijatelnou hratelnost. Vzhledem k tomu, že v současné době není pro obyvatele české republiky umožněno získat členství na APP HUB, hra byla původně určena pouze na osobní počítače, což ve spojení s nutností instalovat další programy snižovalo její užitnou hodnotu. Podařilo se mi však získat možnost distribuovat hru na XBOX Marketplace, zprostředkovanou firmou Middle Lands Studios. Hra tedy bude určena i pro konzole XBOX 360. 23

Reference [1] Sharp, John. Microsoft Visual C# 2008, Krok za krokem. COMPUTER PRESS, 2010. [2] Oficiální stránky vývojářů her v XNA. create.msdn.com/ [3] Originální předloha hry. www.deskove-hry.eu/hra-lovci-pokladu.php 24

A. Obsah přiloženého DVD bin/ doc/ Instalátor Instalator programu a další program Program spustitelné přímo z DVD. Dokumentace práce ve formátu PDF, vytvořená dle závazného stylu KI PřF pro diplomové práce, včetně všech příloh, a všechny soubory nutné pro bezproblémové vygenerování PDF souboru dokumentace (v ZIP archivu), tj. zdrojový text dokumentace, vložené obrázky, apod. src/ Kompletní zdrojové texty programu. Program (v ZIP archivu). readme.txt Instrukce pro instalaci a spuštění programu Program, včetně požadavků pro jeho provoz. Navíc DVD obsahuje: data/ Ukázková a testovací data použitá v práci a pro potřeby obhajoby práce. install/ Instalátory aplikací, knihoven a jiných souborů nutných pro provoz programu. 25