Piškvorky - Java project

Vytvořil jsem svou první "větší" aplikaci v Javě. Jedná se o v zásadě o klasické piškvorky s několika vychytávkami.

Ve hře je možno si vytvořit účet s heslem, do kterého se zapisují statistické informace ze hry. Vzhledem k tomu, že jde teprve o alpha verzi programu, tak datová data objektu hráče nesou pouze informaci se jménem, heslem, počtem výher, proher a "výherní šňůry" (upozornění: heslo není nijak chráněno).


Ve hře jsou dva základní módy.

Multiplayer:
Tento mód je imitací, kdy dva hráči hrají na papíře proti sobě. Není na tom nic zázračného. Kdo dříve propojí určitý počet políček označených svým znakem, tak vyhrává (standardně je 5, ale dá se změnit, viz. Settings). Vítězovi se ukáže jeho velký znak u nápisu "WINNER:" a jeho skóre se započítá k účtu za který hraje.


Nová hra se začíná tlačítkem "START GAME". Další hru začíná defaultně hráč, který prohrál, ale v nastavení je možno toto pravidlo změnit.

Pokud hraje hru více hráčů než dva, zle se v průběhu hry přihlásit za jiný účet, ovšem výhra se započítá pouze hráči, který byl v době výhry přihlášený. Stejně tak to je s prohrou.

Chcete-li si prohlédnout své dosavadní skóre, tak tlačítko "view stats" zatím nefunguje (stále to je alpa verze). Ovšem plánuji tuto funkci doprogramovat, pokud na to budu mít čas a chuť.

EDIT: Tlačítko "view stats" již funguje, viz. obrázek. Jediné, co musíte udělat pro zobrazení svého skóre z účtu je přihlásit se buď za křížek nebo kolečko.



Vs. computer:
V tomto módu se hraje proti umělé inteligenci. Abych řekl pravdu, tak je spíše na trénování útoku a strategie než na opravdové hry. AI (Artificial Intelligence) se totiž umí jen bránit a zvládá pouze základy útoku. A vzhledem k tomu, že bez útočení se špatně vyhrává, tak ani AI nemá moc šancí na výhru, pokud na ni útočíte ze všech stran. Každopádně na natrénování základů útočení dostatečné.


Mezi multiplayerem a módem proti AI se dá libovolně přecházet. To znamená, že pokud proti sobě hrají dva hráči a jeden z nich chce "poradit" od AI, tak se může přepnout a ona bude hrát proti protihráči. (upozornění: pokud se přepnete z MP do AI módu, tak táhne protivník a až poté AI, kvůli vyváženosti hry).

Případná výhra, či prohra proti AI se do nezapočítává do hráčových statistik. Tyto statistiky slouží pouze pro hraní Multiplayru mezi dvěma hráči.

Settings:
Poslední záložkou v horním menu je nastavení hry, přičemž samotná nastavení jsou rozdělena do několika skupin.
  • PLAYING FIELD
V této části se nastavuje hrací plocha. Lze si vybrat počet řádků i sloupců nezávisle na sobě, stejně tak jako velikost ikon.

Aplikace nastavení do současné hry, stejně jako styl ikon zatím není funkční.

Pro znovu vygenerování hrací plochy je potřeba kliknout na tlačítko "RE-GENERATE FIELD".

  • RULES
Aneb pravidla hry. Je možné si zde nastavit na kolik propojení se hraje a také je tu možnost "darovat" začínajícímu hráči určitý počet tahů k dobru. Tuto věc jsem zde zabudoval, pokud by proti sobě hráli dva hráči na diametrálně rozdílném levelu.

Další možností je výběr, kdo hru začíná. Zbývající nastavení ohledně časovače zatím není funkční.

  • ARTIFICIAL INTELLIGENCE
Tato část nastavení se týká umělé inteligence. K dispozici je nastavení, především k přizpůsobení si stylu hry ke tréningu. Zle vypnout jak pokročilý útok (který ještě není implementován), tak pokročilou obranu (zde je rozdíl znatelnější).

Můžete si také nastavit koeficienty pro útok i obranu a to jako do směrů s označením "direct" (nahoru-dolů, doprava-doleva), tak do směrů "diagonal" (šikmo).


Licence:
Aplikace "Piskvorky - alpha v003.xx" je zdarma stažitelná a volně šiřitelná (kromě zvuků, které nejsou mým výtvorem a jsou "vybrané" z Heroes of Newerth, ale v rámci studijních záležitostí by se to snad dalo tolerovat).

Instalace:
Instalace hry je velice snadná. Do počítače si stáhnete soubor "Piskvorky...blabla.zip" (níže jsou dva odkazy na server fakultní server VUT FIT a moje vlastní FTP jako mirror), kde naleznete README.TXT (návod pokud jste offline) a složku se samotnou hrou. Tuto složku rozbalíte na vámi určené místo v počítači.

Po rozbalení složky v ní naleznete soubor "Piskvorky_v003.jar", na který stačí kliknou a hry by měla bez problémů jet.

Pokud chcete hru spustit přes příkaz v terminálu (Win+R a napsat "cmd"), můžete. Stačí se nasměrovat do složky s rozbalenou hrou (příkaz "cd") a napsat "java -jar "Piskvorky_v003.jar"".

Jelikož je program psán v Javě, je vhodné ji mít nainstalovanou. Pokud ji nemáte, dá se stáhnout ze stránek http://www.java.com/en/download/ (zdarma).

Co se týče kompatibility, tak hra byla testována na Windows 7 64b i 32b Home Premium a Windows XP 32b. Na těchto operačních systémech (předpokládám, že i na MS Windows Vista a Windows 8) by měla běžet v pořádku. Testoval jsem také Linux (Mint 11 64b a Ubuntu 11.10 64b alpha 1), kde by jsem zaznamenal výrazné problémy s GUI, takže zde za nic neručím.

DOWNLOAD:
Link xmarec12@fit.vutbr.cz:

Mirror cejky.xf.cz:
http://cejky.xf.cz/all/software/Piskvorky_alpha_v003.95d.zip

Changelog:

Piskvorky - alpha v003.95d (11.9.2011)

  • Změněna pravidla časovače - byla odstraněna chyba, který způsobovala zapnutí časovače při přepnutí karet ještě před začátkem hry. Nyní se také časovač resetuje a pozastaví při vygenerování nové hrací plochy.



Piskvorky - alpha v003.95c

  • Přidán časovač - nyní je možno hrát hry s časovým limitem na tah. Každý hráč má na tah vymezené určité časové kvantum (viz. Settings), do kterého musí hrát. V opačném případě je na tahu protihráč.
    Hráč je 3 sekundy před vypršením limitu upozorněn zvukem.



  • Nové pravidlo - aby se zajistila regulérnost a každý mohl plně vyčerpat svůj čas na tah, tak se čas počítá pouze tehdy, jsou-li hráči v módu "Multiplayer". To znamená, že pokud se přepne do tréningového módu (Vs. computer) nebo do nastavení (Settings), tak se odpočet zastaví.


Žádné komentáře: