Najneskorší termín odovzdania: 17.10.2011 (pondelok) o 21:00
Odovzdávaný súbor: ZadanaKorytnacka.java
Cieľom tejto sady domácich zadaní je vytvoriť triedu ZadanaKorytnacka
, ktorá rozširuje triedu Turtle
a ktorá obsahuje nižšie predpísané metódy.
Doplňujúce požiadavky:
- vo vytvorených metódach nevyužívajte metódu
center
(v "spusťači" v metóde main
ho použiť samozrejme môžete),
- po vykonaní každej z metód nech je korytnačka na pozícii, kde bola pred jej vykonaním, a je natočená tým smerom, akým bola pred jej vykonaním,
- nepredpokladajte bielu farbu pozadia kresliacej plochy (korytnačka musí nakresliť korektný obrázok pri akejkoľvek farbe kresliacej plochy),
- riešenia, ktoré nebude možné skompilovať (t.j. riešenia so syntaktickými chybami) nebudú hodnotené,
- zdrojový kód správne naformátujte (CTRL+SHIFT+F),
- očakáva sa vhodne okomentovaný zdrojový kód
- pri riešení používajte len poznatky, ktoré boli súčasťou 2. prednášky a na ňu nadväzujúcich cvičení.
Švédska vlajka (4 body)
Naučte korytnačky triedy ZadanaKorytnacka
metódu svedskaVlajka
, ktorá pomocou náhodnej pochôdzky (viď 2. praktické cvičenie) nakreslí vlajku Švédska. Stred vlajky nech je na aktuálnej pozícii korytnačky, rozmery vlajky a počet náhodných krokov pochôdzky sú určené parametrami metódy. Vlajka nech je rovnobežná so stranami kresliacej plochy. Po skončení metódy nech sú natočenie korytnačky a jej pozícia rovnaké, ako boli pred zavolaním metódy.
public void svedskaVlajka(int pocetKrokov, double sirka, double vyska)
Pyramída (4 body)
Naučte korytnačky triedy ZadanaKorytnacka
metódu pyramida
, ktorá nakreslí pyramídu z tehličiek so zadanými rozmermi a so zadaným počtom radov. Parametrami metódy sú:
sirka
, vyska
- šírka a výška tehličky, z ktorej je postavená pyramída
pocetRadov
- počet radov pyramídy
Pre nakreslenú pyramídu platí:
- jej základňa ("spodok") je určená aktuálnou pozíciou korytnačky, pričom korytnačka stojí presne v jej strede
- vrch pyramídy je v smere aktuálneho natočenia korytnačky
Riešenie vytvorte použitím pomocných metód na nakreslenie jednej tehličky (tehlicka
) a jedného celého radu tehličiek (radTehliciek
).
/*
* Nakresli jednu tehlicku so zadanymi rozmermi
*/
public void tehlicka(double sirka, double vyska) {
}
/*
* Nakresli rad tehliciek tvoreny zadanym poctom tehliciek s rozmermi
* urcenymi cez parametre sirka a vyska
*/
public void radTehliciek(double sirka, double vyska, int pocetTehliciek) {
}
/*
* Nakresli pyramidu podla zadania
*/
public void pyramida(double sirka, double vyska, int pocetRadov) {
}