Ciele
- Identifikovať základné triedy, vzťahy a operácie dlaždicovej hry a vytvoriť konceptuálny model vlastnej hry.
- Identifikovať základné stavy hry a prechody medzi nimi.
- Navrhnúť základnú logiku hry.
Úvod
Hry, ktoré budete v rámci zadaní implementovať patria do skupiny dlaždicových hier a spôsob ich návrhu býva podobný. Návody na cvičenia budú preto v nasledujúcich týždňoch obsahovať postupnosť krokov vedúcich k vytvoreniu dlaždicovej hry a demonštrácia bude opísaná na príklade komponentovej dlaždicovej hry 15 Puzzle. V štúdii budete pokračovať priebežne, preto je nutné zabezpečiť si prenos zdrojových textov na nasledujúce cvičenie.
15 Puzzle je počítačová hra určená pre jedného hráča. Cieľom hry je vyčistenie usporiadať dlaždice v hernom poli vzostupne po riadkoch a stĺpcoch.
Detailnejšie informácie o hre je možné získať na www.wikipedia.org a zahrať si ju môžete na http://lorecioni.github.io/fifteen-puzzle-game alebo http://migo.sixbit.org/puzzles/fifteen.
Vašou úlohou v rámci dnešného cvičenia je vytvoriť návrh vašej hry vo forme diagramu tried a stavového diagramu. V poslednom kroku sa budete zaoberať návrhom základnej logiky hry - generovania hracieho poľa, ovládanie, a pod.
Postup
Krok 1
Pri tvorbe konceptuálneho modelu sa využíva metóda analýzy objektov a akcií , kde sa postupuje v dvoch smeroch: od objektov (entít) k akciám a od akcií k objektom.
- Najprv sa identifikujú základné objekty navrhovaného systému (v našom prípade hry) a následne sa identifikujú všetky akcie , ktoré sa s týmito objektami môžu vykonávať.
- Keď už nevzniká žiadna nová akcia, postupne sa prechádzajú všetky doposiaľ identifikované akcie a kontroluje sa, či pri ich vykonávaní nie je potrebný nejaký nový objekt.
Tento postup sa môže opakovať. Tiež sa identifikujú najdôležitejšie vlastnosti objektov a vzťahy medzi jednotlivými objektmi.
Úloha 1.1
Vykonajte analýzu objektov a akcií vašej vlastnej hry. Na základe analýzy objektov a akcií opíšte štruktúru balíkov a tried.
Krok 2
Jednou z reprezentácií konceptuálneho modelu môže byť diagram tried.
Úloha 2.1
Na základe objektov a ich akcií, vlastností a vzťahov identifikovaných v predchádzajúcom kroku nakreslite diagram tried vašej hry.
Poznámka
Z objektov odvádzame triedy, z ich akcií vznikajú metódy, z ich vlastností vznikajú premenné tried a zo vzťahov medzi objektmi vznikajú vzťahy medzi triedami v diagrame tried ( dedičnosť, asociácia, agregácia, kompozícia).
Poznámka
Na kreslenie môžete využiť niektorý z nástrojov pre kreslenie UML diagramov [3].
Krok 3
Úloha 3.1
Identifikujte všetky stavy dlaždíc hry a stavy hry. Pre ich vyjadrenie a opis nakreslite stavový diagram. V stavovom diagrame zaznačte akcie (reprezentujúce názvy metód), ktoré spôsobujú prechody medzi jednotlivými stavmi.
Základné stavy hry u jednoduchých dlaždicových hier sú väčšinou rovnaké, hra môže prebiehať (stav PLAYING
), byť úspešne ukončená (stav SOLVED
) alebo byť neúspešne ukončená (stav FAILED
).
Môže sa ale stať, že vaša hra bude mať stavov viac. Napríklad pri hre Bejeweled sa môže vyskytnúť stav NO_POSSIBLE_MOVES
, do ktorého sa hráč môže dostať po ktoromkoľvek ťahu. V tomto stave jedinou možnou akciou je náhodné premiešanie dlaždíc.
Poznámka
Pri identifikovaní prechodov medzi stavmi dlaždíc a hry sa môže stať, že identifikujete novú operáciu (metódu). Všetky takéto nové operácie doplňte do diagramu tried z predošlého kroku. Diagram tried a diagram stavov môžete vytvárať súbežne.
Krok 4
Úloha 4.1
Opíšte základnú logiku hry. Môžete použiť vývojový alebo sekvenčný diagram, prípadne využiť textový opis.
Poznámka
Pre opis základnej logiky hry je väčšinou potrebné opísať:
- Spôsob generovania hracieho poľa.
- Spôsob overovania stavov hry - či je hra vyhratá, či je prehratá, či prebieha.
- Spôsob prechodu medzi stavmi dlaždíc , ťahy hráča.
Zdroje
- Detailnejšie informácie o hre 15 Puzzle www.wikipedia.org
- Hra 15 Puzzle online http://lorecioni.github.io/fifteen-puzzle-game alebo http://migo.sixbit.org/puzzles/fifteen
- Niektoré nástroje pre kreslenie UML diagramov: