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