CV03 - Zadání - 3

Zadání úlohy na cvičení. pole, metody s proměnným počtem parametrů, foreach

LochNess

Z vašeho projektu z minulého cvičení nebo z projektu s řešením minulého cvičení (https://gitlab.vsb.cz/jez04-vyuka/java1/labs/lab03v3.git)

Vytvořte třídu LochNess, která bude implementovat metody draw a simulate podobně jako je implementuje Boat. Rozdíl bude ten, že se lochneska bude pohybovat konstantní rychlostí z prava do leva. V okamžiku, kdy se příšera posune mimo plátno tak se objeví na pravé straně plátna. Jako obrázek můžete použít například LochNess.gif

Pole

Vytvořte pole objektů LochNess ve třídě lab.Scene. Toto pole inicializujte 5 lochneskami na různých pozicích a s různými rychlostmi. Vytvořte si konstruktor pro třídu LochNess takový, že jako parametr bude mít objekt lab.Scene. Tento konstruktor pak nastaví néhodnou pozici v dolní části světa/plátna a nastaví nějakou rychlost, třeba náhodnou.

Modifikujte metody draw a simulate  ve třídě lab.Scene tak, že se bude volat draw a simulate na každou lochnesku.

Kolize

Vytvořte metody getBoundingBox ve třídách LochNess a Boat. Metody budou vracet objekt typu javafx.geometry.Rectangle2D, který ohraničuje daný objekt - tzv. "bounding box".

Modifikujte metodu simulate ve třídě lab.Scene tak, že se bude pro každou lochnesku testovat, zda se nestřetla s objektem Boat můžete použít například metodu intersects ze třídy Rectangle2D.

Pokud bude nějaká lochneska v kontaktu s lodí, tak obraťte směr pohybu lochnesky.

Odevzdání

Řešení odevzdejte do systému Kelvin jako úlohu "Java 1 - 3. cvičení v3". Do systému nahrejde celý obsah složky src a soubor pom.xml. Postupujte dle videa na DU02 k odevzdání v době 3. cvičení.

Následně bude projekt zkompilován a provedou se Unit Testy. Vzhledem k povaze projektu a prozatímnímu testovacímu využití systému Kelvin v předmětu Java 1 v případě selhání nezoufejte.

Jedná se o pomocný test, vše bude ještě hodnoceno ručně. Důležité je nahrát soubory aby bylo možno vše vyhodnotit a provést analýzu na plagiáty. Věřím, že je to je formalita a všichni z Vás tvoří vlastní kód.

Řešení

Řešení zadání najdete v gitu ve větvi solution https://gitlab.vsb.cz/jez04-vyuka/java1/labs/lab03v3/-/tree/solution?ref_type=heads