2. týždeň

Úloha 1 - Návrh hry

Ciele

  1. Identifikovať základné triedy, vzťahy a operácie dlaždicovej hry a vytvoriť konceptuálny model vlastnej hry.
  2. Identifikovať základné stavy hry a prechody medzi nimi.
  3. 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.

Hra 15 Puzzle
Obr. 1: Hra 15 Puzzle

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.

  1. 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ť.
  2. 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

  1. Detailnejšie informácie o hre 15 Puzzle www.wikipedia.org
  2. Hra 15 Puzzle online http://lorecioni.github.io/fifteen-puzzle-game alebo http://migo.sixbit.org/puzzles/fifteen
  3. Niektoré nástroje pre kreslenie UML diagramov:
    • Draw.io - online nástroj, prepojenie s Google Drive a ďalšími online službami pre ukladanie diagramov,
    • Creately - ďalší online nástroj,
    • UMLet,
    • Gliffy - online nástroj.