Java – Lesson 3

Vytvořte třídu Dragon, která bude reprezentovat pohybující objekt, který půjde sestřelit. Implementujte metody draw a simulate podobně jako je implementuje BulletAnimated. Rozdíl bude v pohybu, protože se drak bude pohybovat po obrazovce, minimálně konstantní rychlostí a v okamžiku, kdy se drak objeví mimo plátno tak se objeví na druhé straně plátna (můžete použít funkci modulo).

drak

Vytvořte pole draků ve třídě World. Toto pole inicializujte 5 draky na různých pozicích a s různými rychlostmi.

Modifikujte metody draw a simulate ve třídě World tak, že se bude volat draw a simulate na každého draka.

Vytvořte metody getBoundingBox ve třídách Dragon a BulletAnimated. Budou vracet objekt typu javafx.geometry.Rectangle2D, který ohraničuje daný objekt – tzv. “bounding box”.

Modifikujte metodu simulate ve třídě World tak, že se bude pro každého draka testovat, zda nebyl zasažen objektem BulletAnimated.

Pokud bude nějaký drak zasažen, tak obraťte jeho směr.

Příklad třídního diagramu a vztahů:

UML class diagram

Užitečné kousky kódu:

dragon.getBoundingBox().contains(...);