Ciele
- Finálna implementácia entity Ball
- Finálna implementácia entity EmptyPlace
- Restart hracieho poľa
Úvod
-
V tomto cvičení implementujeme metódy entít Ball a EmptyPlace, výsledkom bude hrateľný stav hry
Postup
-
Inicializujte entitu Ball tak aby bolo možné na ňu kliknúť a tým ju označiť za aktívnuÚloha: Vytvorte ClickListener a pridajte ho entite BallÚloha: Po kliknuti aktivujte loptu - nastavte flagPoznámka: Kliknutím na loptu sa deaktivujú všetky lopty v hre a aktivuje sa daná lopta. Tento flag nám potom bude slúžiť na zistenie, či sa v hre nachádza aktívna lopta čakajúca na presun.
-
Inicializujte entitu EmptyPlaceÚloha: Pri implementácii inicializačnej metódy v entite EmptyPlace postupujte podobne ako v entite BallPoznámka: Kliknutím na prázdne miesto sa aktivuje hľadanie aktívnej lopty v hre a v prípade nájdenia lopty sa s využitím komponentu hľadania cesty nájde najkratšia možná cesta medzi dvomi bodmi, ak existuje.Poznámka: Po nájdení cesty sa využije komponent pohybu ktorý vytvorí sekvenciu akcií pre presun lopty.Úloha: V entite EmptyPlace prepíšte metódu update(), v ktorej volajte metódu act() nad komponentom akcií, ktorý kontroluje hracie pole, ak je to potrebné (po vykonaní pohybu, po generovaní nového počtu lôpt)
-
Zabezpečte reštartovací mechanizmus hryÚloha: implementujte metódu restartPlayField() v PlayScreene, ktorá vyprázdni Stage a List entít, hraciu dosku a znovu ncializuje PlayScreenÚloha: zmeňte iplementáciu generovania hracieho poľa tak, aby sa vygenerovalo hracie pole veľkosti 9x9Poznámka: hracie pole nech je zarovnané v strede obrazovky a nech sa v ňom nachádzajú tri lopty a 78 Prázdnych miest