Univerzita Karlova v Praze Matematicko-fyzikální fakulta GEOGRAFICKÝ KVÍZ ČESKO Luboš MATÁSEK Praha 2007
1 Návodkehře 1.1 Cílhry Cílem hry je správně odpovědět na co největší počet geografických otázek o Česku, které Vám program položí. Hra pokrývá následující oblasti: vodstvo, pohoří, ochrana přírody, města, okresy akraje. 1.2 Pravidla hry Hráčnazačátkuhrymusízadatsvojejménoamůžesizvolitjednuzetříobtížností: začátečník má 3 pokusy odpovedět na každou otázku kromě otázek v sekci pohoří akraje pokročilý má2pokusynaodpoveďavčástikrajemusíobrázkykrajůzvětšovat a zmenšovat na správnou velikost expert má 1 pokus na odpoveď a v části kraje musí obrázky krajů zvětšovat/zmenšovat a případně i otáčet 1.3 Ovládání Hra je ovládáná především myší(označování objektů, přesouvání mapek pohoří a krajů) a částečně klávesnicí(zadání jména hráče a zvětšování/zmenšování a rotace krajů). 1.4 Části hry Natomtosnímkumusíhráčzadatsvojejménoazvolitsiobtížnosthry. 2
Natomtosnímkujeúkolemhráčekliknoutnařekunebovodnínádržzotázky. Na tomto snímku je úkolem hráče přenést obrys pohoří na správné místo na podkladové mapě. 3
Na tomto snímku je úkolem hráče kliknout na chráněnou krajinnou oblast nebo národní park z otázky. Natomtosnímkujeúkolemhráčekliknoutnaměstozotázky. 4
Natomtosnímkujeúkolemhráčekliknoutnaokreszotázky. Na tomto snímku je úkolem hráče přenést obrys kraje na správné místo na podkladové mapě a případně ho zvětšit/zmenšit nebo otočit. 5
2 Programátorská dokumentace 2.1 Zadání Úkolem je vytvořit v prostředí Macromedia Flash hru Geografický kvíz. Hra má přístupnou formou umožnit určování polohy geografických objektů v Česku, přičemž uživatel si může zvolit jednu ze 3 různých úrovní obtížnosti. Textová data názvy geografikých objektů budou načítána z externího textového souboru. Program bude umožňovat uložení nejlepších dosažených výsledků v síni slávy data budou uložena opět v externím textovém souboru. 2.2 Program Hra byla vytvořena ve vývojovém prostředí Macromedia Flash Professional 8.0. Hra se skládá z 18 klíčových snímků, které všechny obsahují výkonný kód v ActionScriptu, ale méně než polovina obsahuje snímky s grafikou, které uvidí uživatel. Snímky, kde je vykonávám důležitý kód jsou uvedeny v následujícím přehledu: (2) Inicializace všech globálních proměnných. Jedná se například o obtížnost, jméno hráče, počet bodů, počet otázek atd. Dále zde probíhá načtení geografických názvů z externího souboru data.txt. Všechna pole s názvy jsou po načtení zamíchána funkcí shuffle, která je ve snímku také definována. (3) Zadání jména hráče a volba obtížnosti. Hra nepřejde na další snímek, dokud není zadáno jméno. (5) Určování polohy řek a vodních nádrží. Všechny objekty jsou do snímku vloženy jako Button a jejich jméno odpovídá jménu v externím souboru data.txt. V každém průchodu snímkemjesníženpočetotázekprotentoúkol,dálejezpolevodstvovybránobjekt,který bude určován a je položena otázka. Po stisknutí některého z objektů je vyvolána kontrolní funkce, která má jako parametr jméno stisknutého objektu. To je porovnáno s určovaným a podle správnosti oznámíme správnou nebo špatnou odpoveď, resp. další pokus. Poté znovu načteme snímek 5. (7) Určování polohy pohoří. V každém průchodu je vygenerován MovieClip jednoho z pohoří. Hráčsehopotésnažíumístitnapodkladovoumapu.Vechvíli,kdypohořípřenesena požadované místo a pustí tlačítko myši, tak je vyvolána kontrolní funkce, která jako parametry dostane x-ovou a y-ovou souřadnici aktuální polohy pohoří. Tyto dvě hodnoty jsou porovnány s údaji z externího souboru a podle tolerance(závisí na obtížnosti) je rozhodnuto, zda byl objekt umístěn správně. (9) Určování polohy chráněných krajinných oblastí a národních parků. Zcela stejný princip jakonasnímku5. (11) Určování polohy měst. Opět zcela stejný princip jako na snímku 5. (13) Určování polohy okresů. Opět zcela stejný princip jako na snímku 5. (15) Určování polohy krajů. Princip se podobá snímku 7 s tím rozdílem, že vygenerované kraje mohou být nyní náhodně zvětšeny/zmenšeny nebo otočeny proti své původní poloze. Po umístění kraje se tak kontrolují nejen souřadnice, ale pomocí vlastností MovieClipu xscale, yscale a rotation i meřítko a otočení objektů. (16) Načtení nejlepších dosažených výsledků ze síně slávy z externího souboru record.txt. 6
(17)Informaceodosaženémskóre.Pokudmáhráčnároknazapsánídosíněslávy,jejehojméno zařazeno na správné místo do pole nejlepších výsledků(k tomu je využita standardní funkce Array.sort). Celé pole je pak pomocí standardní funkce sendandload odesláno ke zpracování PHP skriptu record.php. (18) Závěrečný snímek se síní slávy. 2.3 Externí soubory Program využívá soubor data.txt pro načtení geografických názvů. Soubor obsahuje vždy jméno proměnné(např. vodstvo, okresy, kraje atd.) a dále středníky oddělené skupiny hodnot geografický název objektu(např. Plzeňský), název MovieClipu daného objektu ve Flashi (např. kraj Plzensky) a případně i x-ovou a y-ovou souřadnici objektu ve snímku. Příklad je uveden zde: &kraje=plzeňský,kraj_plzensky,99.55,270.15;jihočeský,kraj_jihocesky,190.1, 329.45;Vysočina,kraj_Vysocina,275.05,304.95;Karlovarský,kraj_Karlovarsky,... &chko=np Šumava,np_Sumava;NP Krkonoše,np_Krkonose;... Dalším používaným souborem je record.txt, kde jsou uloženy nejlepší dosažené výsledky. Každá obtížnost určuje jméno proměnné a za ní jsou středníky oddělené dvojice jméno dosažený počet bodů. Příklad je uveden zde: &zacatecnik=david:30;junior:9;pokus:7;jana:3;libor:1;... &pokrocily=jenda:0;... Posledním externím souborem je PHP skript record.php, který provede zápis nejlepších výsledků, které mu předal Flash do souboru record.txt. 7