Ciele
- Zabezpečiť vstup od hráča cez formuláre.
- Implementovať metódy verify v akciách a použiť ich pred vytvorením novej akcie.
Úvod
-
V našej doterajšej implementácii existujú akcie, ktoré sa vykonávajú aj v čase neprítomnosti.
Obsahujú však premenné, ktoré nechceme aby nastavoval hráč, ale nastavili sa automaticky.
Preto existujú triedy v balíku
domain.forms obsahujúce premenné, ktoré hráč nastaviť smie.
K nim sú vyvtorené webové controllery.
Postup
-
Úloha: Odchyťte moment vytvorenia nových objektov typu
Attack,TrainaBuilda zabezpečte pri ich vzniku aj vznik akcií v databáze.Poznámka: Ukladajte iba entity typu Attack, pre neskoršie zobrazenie histórie útokov. -
Akcie pridávané cez formulár sú stále neoverené a môže sa stať, že hráč vykoná akcie za dedinu, ktorú nevlastní. Z tohto dôvodu všetky akcie obsahujú metódu
verify()na overenie správnosti údajov.Úloha: Implementujte verifikačné metódy tak, aby vrátili true, ak je akcia správne zadaná. Pri stavbe, nech sa overí dostatok surovín v sklade. Pri trénovaní vojakov, či počet nie je nulový a či všetky budovy potrebné na daný druh vojaka majú potrebnú úroveň. V prípade útoku, tiež overte, či nie je nulový a či v útočiacej dedine je dostatok vojakov.Poznámka: V prípade útoku zatiaľ nebudeme overovať, či prihlásený hráč je vlastníkom dediny, z ktorej chce zaútočiť. -
Úloha: Akcie, ktoré nevyhovejú požiadavne nepridávajte do databázy. Rovnako tam nepridávajte aj formuláre. Jediný formulár, ktorý má význam ukladať je útok. Hráč bude mať tak prehľad kedy na koho zaútočil.Úloha: Odstránte menu možnosť zobrazenia zoznamu všetkých formulárových entít, okrem tých, ktoré ste sa rozhodli ukladať. Ponechajte iba možnosť vytvoriť nový záznam.


