Špecifikácia ročníkového projektu
GAME PACK
("Človeče, nehnevaj sa!" a "Dáma" aj s možnosťou sieťovej hry)
1. O dokumente
Tento dokument je špecifikáciou ročníkového projektu GAME PACK. Dokument špecifikuje zadanie projektu, jeho ciele, funkcionalitu, vstupy a výstupy, ako aj návrh a časový plán riešenia.
2. Definícia zadania
GAME PACK je balíček dvoch logických, stolových hier pre dvoch hráčov "Človeče, nehnevaj sa!" a "Dáma", obe aj s možnosťou hrania sieťovej hry. Pre každú hru bude možné zvoliť si rozhranie pre hru na jednom počítači alebo pre sieťovú hru.
Pri hre na jednom počítači budú poradie a jednotlivé ťahy hráčov regulované aplikáciou podľa pravidiel hry. Hráči sa budú v ťahoch a ovládaní počítača striedať.
Pri výbere sieťovej hry bude každý hráč ovládať hru zo svojho počítača (počítače budú komunikovať medzi sebou pomocou sieťového protokolu), pričom jednotlivé ťahy hráčov a poradie budú regulované aplikáciou podľa pravidiel hry. Sieťová hra umožní výber dvoch základných nastavení: vytvoriť server a pripojiť sa na už existujúci server. V tomto štádiu projektu nie je cieľom vytvoriť online hru, len hru medzi dvoma používateľmi.
Obe hry by mali tiež obsahovať základné nastavenia, ako napr. farba figuriek a tabuľku najlepších.
Aplikácia je určená každému, kto rád trávi čas s priateľmi hraním sa niektorej zo spomínaných hier, v priemnom a pre užívateľa zaujímavom hernom prostredí, ktoré GAME PACK ponúka.
3. Funkčná špecifikácia
Projekt je rozdelený do dvoch častí, ktoré vytvárajú logické celky. Táto kapitola obsahuje podrobný popis jednotlivých častí a funkčnosti, ktorú poskytujú.
3.1 Človeče, nehnevaj sa!
"Človeče, nehnevaj sa!" je pôvodom nemecká spoločenská hra pre 2 hráčov. Patrí v mnohých krajinách a aj na Slovensku ku klasickým stolovým hrám. Táto časť projektu obsahuje hru v elektronickej podobe. Po zvolení hry "Človeče, nehnevaj sa!" z úvodného menu je možné zvoliť si rozhranie pre hru na jednom počítači alebo pre sieťovú hru.
Hra na jednom počítači
Po zvolení tejto možnosti je nutné vyplniť vstupné údaje o novom hráčovi a zvoliť farbu figúrok. Tento krok sa vykoná pre oboch hráčov. Poradie a jednotlivé ťahy hráčov sú regulované aplikáciou podľa pravidiel hry. Hráči sa v ťahoch striedajú. Aplikácia určí hráča, ktorý je na ťahu vypísaním jeho mena. Po uskutočnení ťahu vyzve druhého hráča. Hodnota hracej kocky bude generovaná stlačením tlačidla. Aplikácia obsahuje históriu desiatich najlepších hráčov na základe počtu vyhodených figúrok, kde menej vyhodených figúrok je lepšie miesto v tabuľke.
Sieťová hra
Pri výbere sieťovej hry aplikácia zobrazí dve možnosti pre užívateľa: vytvoriť server alebo pripojiť sa na už existujúci server. Po zvolení niektorej z možností je nutné vyplniť formulár pozostávajúci z mena hráča a údajov potrebných na komunikáciu počítačov cez sieťový protokol. Poradie a jednotlivé ťahy hráčov a možnosti hry sú regulované aplikáciou podľa pravidiel hry, podobne ako v hre na jednom počítači.
Víťazom sa stáva hráč, ktorý prvý umiestni všetky štyri figúrky na cieľové políčka.
3.2 Dáma
Táto časť je spracovaním hry "Dáma". Z úvodného menu sa po zvolení položky "Dáma" zobrazia dve voľby. Máme na výber medzi rozhraním pre hru na jednom počítači a rozhraním pre sieťovú hru.
Hra na jednom počítači
Po výbere rozhrania pre hru na jednom počítači je nutné vyplniť vstupné údaje o novom hráčovi a zvoliť farbu figúrok - bielu alebo čiernu. Druhému hráčovi je po vyplnení vstupných údajov automaticky pridelená zvyšná farba. Poradie a jednotlivé ťahy hráčov sú regulované aplikáciou podľa pravidiel hry. Hráči sa v ťahoch striedajú, pričom je rozhodujúce, či hráč preskočil figúrku súpera, v takom prípade je na ťahu ešte raz. Hráč, ktorý je na ťahu je určený aplikáciou vypísaním mena, získaného zo vstupných údajov. Aplikácia obsahuje tabuľku desiatich najlepších hráčov na základe počtu zostávajúcich figúrok na konci hry, ktorú daný hráč vyhral. Viac figúrok znamená lepšie umiestnenie.
Sieťová hra
Po zvolení tejto možnosti aplikácia zobrazí dve voľby: vytvoriť server alebo pripojiť sa na už existujúci server. Po zvolení ktorejkoľvek z možností je nutné vyplniť formulár pozostávajúci z mena hráča a údajov potrebných na komunikáciu počítačov cez sieťový protokol. Hra je regulovaná aplikáciou podľa pravidiel, podobne ako v hre na jednom počítači.
4. Vstupy a výstupy
Vstupmi aplikácie sú primárne údaje z textového súboru, reprezentujúce súradnice jednotlivých políčok hracej plochy. Ďalšími vstupmi sú vstupné údaje o jednotlivých hráčoch, obrázky a priama interakcia s hráčmi prostredníctvom klikov do hracej plochy, na jednotlivé figúrky alebo tlačidlá. Výstupom je zobrazovanie výsledku pohybu figúrok na hracej ploche a výstupné údaje v tabuľke najlepších.
5. Návrh riešenia
5.1. Technologické riešenie
GAME PACK bude naprogramovaný v Delphi 7.0. Webová stránka bude v XHTML s použitím CSS a JavaScriptu.
Aplikácia nebude využívať žiaden cudzí unit. Na komunikáciu cez sieťový protokol bude v aplikácii použitý komponent Internet z palety komponentov v Delphi.
5.2. Obmedzenia a kritické body
Aplikácia bude ošetrená proti nepovoleným ťahom a ťahom, ktoré by neboli v súlade s pravidlami. Nebudú tiež umožnené ťahy hráča, ktorý nie je aktuálne na ťahu. Kritickým bodom aplikácie je komunikácia prostrendíctvom sieťového protokolu, čo môže vyústiť chybovým stavom hry, prípadne jej predčasným skončením.
6. Časový plán
Táto kapitola obsahuje rozdelenie projektu do jednotlivých etáp.
6.1. Prvá etapa
- zhotovenie podrobného popisu projektu
- vytvorenie základného prostredia (hracej plochy, jednoduchých ovladacích prvkov, tlačidiel...)
- základný dizajn
- vytvorenie web stránky projektu
6.2. Druhá etapa
- vytvorenie užívateľského rozhrania aplikácie
- vytvorenie základných nastavení (výber farby figúrok, uloženie hry...)
- zabezpečenie fungovania oboch hier, v nastavení pre hru na jednom počítači (nie pre sieťovú hru)
6.3. Tretia etapa
- kompletizácia užívateľského rozhrania aplikácie
- implementácia nastavenia pre sieťovú hru (v prípade oboch hier)
- implementácia ďalších funkcií a nastavení (koniec hry, pravidlá, výber uloženej hry...)
6.4. Štvrtá etapa
- implementácia tabuľky najlepších
- vytvorenie helpu
- testovanie aplikácie, oprava chýb
- vytvorenie používateľskej príručky
- doladenie celej aplikácie
- doladenie web stránky projektu