Univerzita Karlova v Praze Matematicko-fyzikální fakulta
GEOGRAFICKÝ KVÍZ – ČESKO
Luboš MATÁSEK
Praha 2007
1
Návod ke hře
1.1
Cíl hry
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 a kraje.
1.2
Pravidla hry
Hráč na začátku hry musí zadat svoje jméno a může si zvolit jednu ze tří obtížností: • začátečník – má 3 pokusy odpovedět na každou otázku kromě otázek v sekci pohoří a kraje • pokročilý – má 2 pokusy na odpoveď a v části kraje musí obrázky krajů 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
Na tomto snímku musí hráč zadat svoje jméno a zvolit si obtížnost hry.
2
Na tomto snímku je úkolem hráče kliknout na řeku nebo vodní nádrž z otá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.
Na tomto snímku je úkolem hráče kliknout na město z otázky.
4
Na tomto snímku je úkolem hráče kliknout na okres z otá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ímkem je snížen počet otázek pro tento úkol, dále je z pole vodstvo vybrán objekt, 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áč se ho poté snaží umístit na podkladovou mapu. Ve chvíli, kdy pohoří přenese na 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 jako na snímku 5. (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) Informace o dosaženém skóre. Pokud má hráč nárok na zapsání do síně slávy, je jeho jmé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