Akcie 2

Ciele
  1. Zabezpečenie rastu surovín v dedine.
  2. Implementovať výstavbu budov.
Úvod
    Každá dedina už pri vzniku produkuje určité množstvo surovín. Rýchlosť produkovania každej suroviny je zväčšovaná úrovňou, na ktorej sa nachádza jej produkčná budova. Metódu verify() zatiaľ nebudeme implementovať.
Postup
  1. V balíku domain.actions nájdite vhodnú akciu, ktorá by mohla reprezentovať produkciu.
    Úloha: Zabezpečte, aby sa akcia vykonala len raz za minútu.
    Poznámka: Porovnajte čas poslednej aktualizácie resp. vykonania akcie s aktuálnym časom. Na základe rozdielu v počte minút pridá suroviny.
    Premenná typu Resources slúži na uchovanie informácie o množstve surovín.
    Úloha: Zabezpečte, aby pri vzniku tohto objektu dostal hráč 100 jednotiek z každého druhu.
    Poznámka: Vytvorte na to bezparametrický konštruktor a nainicializujte všetky premenné.
  2. Produkcia je podmienená úrovňou produkčnej budovy. Za jednu minútu budova vyprodukuje toľko surovín aký je jej aktuálny level. Aktuálne úrovne budov sú uchované v objekte typu Buildings.
    Úloha: Pri vniku dediny nesmie byť produkcia nulová. Preto level produkčných budov je na začiatku 1.
    Poznámka: Vytvorte bezparametrický konštruktor podobne ako v predchádzajúcej úlohe.
    Funčnosť implementácie overíte vytvorením objektov budov a surovín a pridaním novej akcie produkcie s týmito objektami. Všimnite si, že pri vytváraní budov a surovín sú polia vo formulári už vyplnené.
    Poznámka: Ak vám rast produkcie nefunguje, uistite sa, že po zmene údajov nad všetkými objektami zavoláte metódu persist.
    Poznámka: Ďalšou príčinou nefunkčnosti implementácie môže byť neinicializovanie všetkých premenných, vrátane času poslednej aktualizácie.
    Zvýšte v objekte budov úroveň jednej z produkčných budov a overte funkčnosť.
  3. Keď už všetky suroviny v dedine rastú, potrebujeme zabezpečiť stavbu budov.
    Úloha: V príslušnej akcii implementujte metódu execute tak, že na základe premennej buildingType zvýši úroveň prslúchajúcej budovy. Dĺžka vykonania akcie nech je toľko minút, aký vysoký je cieľový level.
comments powered by Disqus