1. sada domácich zadaní

Najneskorší termín odovzdania: 8.10.2012 (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 príkazy center, setPosition, moveTo (v "spusťači" v metóde main ich 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),
  • komentovaný zdrojový kód je vítaný,
  • počiatočná a zároveň koncová pozícia korytnačky sú vyznačené na obrázkoch,
  • pri riešení používajte len poznatky, ktoré boli súčasťou 1. prednášky a na ňu nadväzujúcich cvičení.

Kvietok (1 bod)

Vytvorte metódu kvietok, ktorá nakreslí kvietok podľa predlohy.

Kvietok je tvorený žltým kruhom so zadaným polomerom polomer. Červené "lupene" kvetu sú tvorené časťami kruhových oblúkov s polovičným polomerom (t.j. s polomerom polomer/2). Celková výška kvetu je 3*polomer. Stred kvietka je v aktuálnej pozícii korytnačky.

public void kvietok(double polomer) {

}

Navigačné šípky (2 body)

Vytvorte metódu sipka, 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 sipka nakreslite navigačnú šípku, ktorá sa skladá z piatich rovnostranných trojuholníkov so zadanou dĺžkou strany strana tak, ako je uvedené na predlohe nižšie. Rozostupy medzi trojuholníkmi majú dĺžku strana/2.

public void sipka(double strana) {

}

public void navigacia(double strana) {

}

Obrazec zo šesťuholníkov (1 bod)

Vytvorte metódu obrazec, ktorá namaľuje nižšie uvedený obrazec skladajúci sa zo 6-uholníkov so zadanou dĺžkou strany. V metóde využite nižšie uvedenú metódu sestuholnik na nakreslenie pravidelného 6-uholníka so zadanou dĺžkou strany. Metódu sestuholnik neupravujte!

Korytnačka sa tak, ako je to v predlohe, nachádza v strede obrazca. Obrazec je nakreslený zelenou farbou.

public void sestuholnik(double strana) {
        this.penUp();
        this.step(strana);
        this.penDown();
        this.turn(120);
        for (int i = 0; i < 6; i++) {
                this.step(strana);
                this.turn(360 / 6);
        }
        this.turn(-120);
        this.penUp();
        this.step(-strana);
        this.penDown();
}

public void obrazec(double strana) {

}