Najneskorší termín odovzdania: 4.10.2020 (nedeľa) o 18:00
Odovzdávaný súbor: HomeTurtle.java
Cieľom tejto sady domácich zadaní je vytvoriť triedu HomeTurtle
, ktorá rozširuje triedu Turtle
a ktorá obsahuje nižšie predpísané metódy.
Doplňujúce požiadavky:
center
, setPosition
, moveTo
, setX
, setY
(v "spusťači" v metóde main
ich použiť samozrejme môžete),
Vytvorte metódu flower
, ktorá nakreslí kvietok podľa predlohy.
Kvietok je tvorený žltým kruhom so zadaným polomerom radius
. Červené "lupene" kvetu sú tvorené časťami kruhových oblúkov s polovičným polomerom (t.j. s polomerom radius/2
). Celková výška kvetu je 3*radius
. Stred kvietka je v aktuálnej pozícii korytnačky.
Vytvorte metódu arrow
, ktorá nakreslí vyplnený rovnostranný trojuholník oranžovej farby so zadanou dĺžkou strany. Korytnačka sa nachádza v strede jednej zo strán a natočená je v smere protiľahlého vrcholu.
S využitím metódy arrow
nakreslite navigačnú šípku, ktorá sa skladá z piatich rovnostranných trojuholníkov so zadanou dĺžkou strany size
tak, ako je uvedené na predlohe nižšie.
Rozostupy medzi trojuholníkmi majú dĺžku size/2
.
Vytvorte metódu beehive
, ktorá namaľuje nižšie uvedený obrazec skladajúci sa zo 6-uholníkov so zadanou dĺžkou strany. Na kreslenie čiar využite len nižšie uvedenú metódu hexagon
na nakreslenie pravidelného 6-uholníka so zadanou dĺžkou strany (t.j. v samotnej metóde beehive
korytnačku len presúvate na vhodné pozície - či už so zapnutým alebo vypnutým kresliacim perom). Metódu hexagon
neupravujte!
Korytnačka sa tak, ako je to v predlohe, nachádza v strede obrazca. Obrazec je nakreslený zelenou farbou.
Chytré hodinky sú dnes "in". Možno aj preto, že umožňujú definovať si vlastné zobrazenie času.
Vytvorte metódu smartWatch
, ktorá namaľuje zobrazenie analógového ciferníka ako na obrázku nižšie. Stred ciferníka je aktuálna pozícia korytnačky a to je zároveň aj pozícia korytnačky po vykonaní metódy. Polomer ciferníka je určený parametrom radius
. Zobrazovaný čas je určený parametrami hh
(hodina) a mm
(minúta). Kvôli zjednodušeniu, nech je ciferník stále nakreslený bez rotácie v závislosti od aktuálneho natočenia korytnačky (t.j. na vhodných miestach využite setDirection
namiesto turn
). Korytnačka nech je po skončení kreslenia natočená smerom 0
.
Popis:
radius/4
,
radius/4
,
Color.lightGray
),
radius/3
,
2*radius/3
,
radius/10
.
"OK" pri metóde znamená, že sa podarilo zrealizovať všetky testy a po skončení metódy ostala korytnačka v požadovanom stave. Neznamená to, že korytnačka nakreslila to, čo mala.
Upozorňujeme, že evaluátor dokresľuje do grafických výstupov vizuálne značky (poloha korytnačky, významné body, podfarbenie, atď.), ktoré umožňujú rýchlu vizuálnu kontrolu riešenia. Ako vyzerajú, si môžete pozrieť nižšie. Tieto vizuálne značky vo svojom kóde nekreslite!
Očakávané grafické výstupy evaluátora pre korektné riešenie (poloha, natočenie a veľkosť obrazcov sa môžu líšiť):
Kvietok
Navigácia
Obrazec
SmartWatch