Jiri Svoboda Homepage
Navigation
Root page
    Personals
        My computer history
        My articles
    Flight Simulators
    CGS (paper computer)
    Atari (8-bit)
    x86
        Text games
        Rally
    iPAQ (Linuxed)
        Atari 800
        iMessage
    Java
        DK Mapa
    RC Models
    Links
    Tečkovací hra

Hosted on
vpsfree.cz

Powered by
Java

Associated with
hacker emblem

Censored?
cenzuruje váš poskytovatel připojení?

kinderporno.cz
...je to jen záminka.



Links
abclinuxu.cz

root.cz



No title

DK Mapa

Program slouží k vizualizaci dat poskytovaných provozovateli on-line her "Divoké kmeny" a "Tribal Wars":

Hra Divoké Kmeny je bezplatná hra na bázi prohlížeče

Verze 0.5 je první samostatně fungující verzí. To znamená, že dokáže sama zpracovat data světů a nevyžaduje spojení se speciálním mapovým serverem "Ghaata Royal Cartographic Service".
Updaty 0.5.1, 0.5.2 a 0.5.3 přináší kromě kosmetických úprav i několik nových funkcí, které si vyžádali uživatelé (viz níže).


1. Screenshot

Jak známo, jeden obrázek vydá za tisíc slov:




2. Historie verzí

  • v0.1 - jednoduchý generátor mapy kmene v Perlu s raw výstupem
  • v0.2 - jednoduchý generátor XML dat v Perlu pro flashovou aplikaci "DYI Map"
  • v0.3 - generátor obrázku mapy v jazyce C spojený se sadou scriptů v Perlu pro generování webové stránky (spojení klikací mapy a onMouseOver)
  • v0.4 - první Java verze aplikace, běžící jako applet na stránkach "Ghaata Royal Cartographic Service", k běhu vyžaduje SQL backend běžící tamtéž
  • v0.5 - (18.2.2008) - první samostatně fungující verze
  • v0.5.1 - (27.2.2008) - oproti verzi 0.5 byly provedeny tyto úpravy:
    • souřadnice se nyní ukazují stále, kvůli tomu byly přesunuty a ukazují se jako první položka výpisu informací
    • barevně označené vesnice jsou již také vidět na zmenšené mapě světa, v souvislosti s tím se změnila barva čtverce označujícího výřez na bílou
    • zmenšená mapa světa nyní reaguje na pouhé stisknutí tlačítka myši a je možné tažení
    • začíná se teď nad středem mapy, ne nad mou vesnicí :-)
    • tag kmene pro žlutou barvu již není předvyplněn
    • doplněny scripty pro Svět 4
  • v0.5.2 - (7.3.2008) - oproti verzi 0.5.1 byly provedeny tyto úpravy:
    • nyní je možné označovat barvami nejen kmeny, ale i jednotlivé hráče
    • jednotlivou barvou je možné označit více kmenů nebo hráčů
    • v položce "Kmen:" se nyní ukazuje i tag kmene (oddělený pipe, tedy Kmen: tag | jméno kmene)
    • aplikace si nyní mezi spouštěními pamatuje vyplněné položky a to pro každý svět samostatně
    • bylo odstraněno vyhledávání podle ID (používal to snad někdo?)
  • v0.5.3 - (10.3.2008) - oproti verzi 0.5.2 byly provedeny tyto úpravy:
    • bylo znovu přidáno vyhledávání kmenů podle ID (ejhle, on to vážně někdo používá!)
  • v0.5.3a - (10.3.2008) - oproti verzi 0.5.3 byly provedeny tyto úpravy:
    • Program DKMapaUpdate byl aktualizován na verzi 0.2.1. Tato verze umí obejít chyby zanesené do databáze Světa 2 provozovateli serveru divokekmeny.cz. DKMapa je beze změny.
Pokud nebude nalezena nějaká závažná chyba ve funkčnosti aplikace, počítám s tím, že verze 0.5.3 je poslední vydanou verzí v řadě 0.5.x. Nové vlastnosti, které by se měly objevit v následující řadě, jsou diskutovány na níže uvedeném fóru. První verzi následující řady můžete očekávat nejdříve za několik týdnů.


3. Požadavky na systém

Program je napsán v jazyce Java, proto musíte mít v počítači nainstalovánu aktuální verzi JRE (Java Runtime Environment), kterou si můžete stáhnout například zde: http://java.com/en/download/index.jsp.
Ač při programování nepoužívám nejnovější výdobytky jazyka, kompiluji pod Sun JDK 1.6.0, což znamená, že program zřejmě vyžaduje JRE stejné verze (zatím jsem neměl příležitost ověřit).


4. Download

DKMapa-0.5.3a.zip
(Předchozí verze: DKMapa-0.5.zip, DKMapa-0.5.1.zip, DKMapa-0.5.2.zip DKMapa-0.5.3.zip)


5. Jak na to

a) Aktualizace dat

K aktualizaci dat se používá program "DKMapaUpdate.jar". Můžete jej spustit manuálně příkazem:

java -jar DKMapaUpdate.jar <adresa_serveru>

tedy například pro český "Svět 1":

java -jar DKMapaUpdate.jar cs1.divokekmeny.cz

Pro zjednodušení jsou pro české uživatele Světů 1, 2, 3 a 4 připraveny scripty, jejichž jméno začíná "update-Svet...". Jsou k dispozici scripty pro Windows a Unix (Linux). Aktualizace se pak zahájí prostým spuštěním příslušného souboru se scriptem.

Poznámky:

  • Provozovatelé serveru mají v provozních podmínkách uvedeno, že stahování aktuálních dat je povoleno maximálně jedenkrát za hodinu. Protože i hodinové aktualizace jsou zbytečně časté, aplikace odmítne provést aktualizaci dat z příslušného serveru, pokud od předchozí aktualizace neuběhlo více než osm hodin.
  • Protože data jsou na straně provozovatelů exportována z živé databáze, není zaručena jejich stoprocentní konzistence. I když se snažím tyto inkonzistence předvídat a vyhnout se problémům z nich plynoucím, může se občas stát, že nastane situace, se kterou nepočítám a aktualizace se korektně neprovede. Pak nezbýva než počkat až provozovatel vytvoří nové soubory s daty. Typická chybová hláška v tomto případě vypadá asi takto:
          java.lang.ArrayIndexOutOfBoundsException: 338896
            at DKMapaUpdate.doVillages(DKMapaUpdate.java:188)
            at DKMapaUpdate.doUpdate(DKMapaUpdate.java:56)
            at DKMapaUpdate.<init>(DKMapaUpdate.java:29)
            at DKMapaUpdate.main(DKMapaUpdate.java:211)
          
    V další řadě programu bude tento problém odstraněn.


b) Prohlížení

Po úspěšné aktualizaci si již můžete prohlížet vlastní mapu. K prohlížení se používá program "DKMapa.jar". Můžete jej spustit manuálně příkazem:

java -jar DKMapa.jar <adresa_serveru>

tedy například pro český "Svět 1":

java -jar DKMapa.jar cs1.divokekmeny.cz

Pro zjednodušení jsou opět připraveny scripty, tentokrát se jmény "view-Svet...".
Po úspěšném spuštění programu se objeví okno. Několik sekund se importují dříve aktualizovaná data o vesnicích a pak se zobrazí mapa.
Vlevo dole je zobrazena zmenšená mapa celého světa, bílý čtverec v ní ukazuje, na jaký výřez mapy se právě díváte. Vlastní výřez/mapa je v pravé části okna. Podklad mapy je zelený, na něm jsou šedě zobrazeny opuštěné vesnice a hnědě aktivní vesnice. Přejetím myši nad aktivní vesnici se o ní vlevo zobrazí dostupné informace.
Pohyb po mapě je možný více způsoby. Stiskem tlačítka myši na zmenšené mapě světa, stiskem a následným tažením tamtéž a nebo stiskem a tažením myši ve výřezu.
Důležitou funkcí programu je zvýrazňování vesnic. V každém barevném poli je možné přepínačem (K/H) určit, zda text zadaný v textovém okénku vedle něj je tag (nebo ID) kmene a nebo jméno hráče. Do okénka je možné zapsat i více kráčů nebo kmenů (ne však kombinace obojího) oddělených středníkem (bez mezery!). Po stisknutí "Označit" budou vesnice zobrazeny příslušnou barvou.

Pár tipů pro označování:

  • Interní postup označování je shora dolů ve smyslu barev (tedy žlutá, azur, purpur a nakonec modrá), přičemž následující výběr vždy přebarví i dříve jinak obarvené vesnice (proto se také může stát, že program napíše, že obarvil čtyři vesnice žlutí, leč obarvené nejsou žádné - některá z následujících barev je přebarvila). Pokud tedy například chcete obarvit vesnice svého kmene jednou barvou a své vlastní vesnice jinou barvou, musíte k jedné z barev uvést kmen a k některé z následujících barev hráče, nikoliv naopak.
  • Místo tagu kmene lze při vyhledávání zadávat ID. Hlavní výhodou je to, že ID zůstává stejné i pokud dojde ke změně tagu/názvu kmene. Také se tak lze vyhnout zadávaní některých problematických znaků z klávesnice.
    ID se dá zjistit například tak, že na stránkach hry klepnete na "Žebříček" a najedete myší na požadovaný tag kmene. Dole ve stavovém řádku se vám pak objeví dlouhý odkaz končící například "...info_ally&id=4156". ID je číslo uvedené za "id=", v tomto případě 4156.
  • Pokud v soupisu kmenů uvedete jako poslední znak středník a nebo vyplníte pouze středník, označí se příslušnou barvou i všechny vesnice, které nepatří do žádného kmene. Původně jsem to považoval za chybu, ale nechal jsem ji tam, může se to hodit.


6. Chyby

O drobných nedostatcích v návrhu, daných přepisem z Java Appletu, vím.
Chyby tam určitě také jsou, jen o nich zatím třeba nevím, pište tedy, když na nějakou narazíte.


7. Licence

Tento program je freeware s jedinou výjimkou. Pokud uživatel programu zaútočí na hráče "Settler", ztrácí právo tento program používat. ;-)


8. Motto

Víc mě baví toto programovat, než Divoké kmeny hrát, aneb chtěl jsem se naučit Javu.


9. Kontakt

O programu, jeho nedostatcích, chybách a požadavcích na další funkcionalitu se živě diskutuje zde: http://forum.divokekmeny.cz/showthread.php?t=1757
Pro přímý kontakt v souvislosti s tímto programem použijte prosím mail jirkas72 (zavináč) centrum (tečka) cz.



Divoké Kmeny Help




created: February 18, 2008, last modification: March 10, 2008

Design based on VERSION 1.0 from oswd.org
Copyright ©1996-2010 Jiří Svoboda
e-mail address