import java.awt.Color;
import java.awt.Point;
import sk.upjs.jpaz2.Turtle;
public class ChytraTurtle extends Turtle {
        public void vystredenyStvorec(double dlzkaStrany) {
                this.penUp();
                this.turn(-90);
                this.step(dlzkaStrany / 2);
                this.turn(-90);
                this.step(dlzkaStrany / 2);
                this.turn(180);
                this.penDown();
                for (int i = 1; i <= 4; i++) {
                        this.step(dlzkaStrany);
                        this.turn(90);
                }
                this.penUp();
                this.step(dlzkaStrany / 2);
                this.turn(90);
                this.step(dlzkaStrany / 2);
                this.turn(-90);
                this.penDown();
        }
        public void ciarkaBodkaCiarka(double dlzka) {
                this.step(dlzka / 4);
                this.penUp();
                this.step(dlzka / 4);
                this.setFillColor(Color.orange);
                this.dot(dlzka / 8);
                this.step(dlzka / 4);
                this.penDown();
                this.step(dlzka / 4);
        }
        public void slniecko(double polomer) {
                this.setPenColor(Color.orange);
                for (int i = 0; i < 36; i++) {
                        this.step(2 * polomer);
                        this.step(-2 * polomer);
                        this.turn(10);
                }
                this.dot(polomer);
        }
        public void stvorec(double dlzkaStrany) {
                for (int i = 0; i < 4; i++) {
                        this.step(dlzkaStrany);
                        this.turn(90);
                }
        }
        public void obrazec(double dlzkaStrany) {
                this.setPenColor(Color.blue);
                this.setPenWidth(2);
                for (int i = 0; i < 10; i++) {
                        this.stvorec(dlzkaStrany);
                        this.turn(90);
                        this.step(dlzkaStrany / 2);
                        this.turn(36);
                        this.turn(-90);
                }
        }
        public void mriezka(double rozmer) {
                this.setPosition(new Point(10, 10));
                this.turn(90);
                for (int i = 0; i < 9; i++) {
                        this.step(rozmer * 8);
                        this.setY(10 + (i + 1) * rozmer);
                        this.setX(10);
                }
                this.setPosition(new Point(10, 10));
                this.turn(90);
                for (int i = 0; i < 9; i++) {
                        this.step(rozmer * 8);
                        this.setX(10 + (i + 1) * rozmer);
                        this.setY(10);
                }
        }
        public void vyplnenyStvorec(double strana) {
                this.openPolygon();
                for (int i = 0; i < 4; i++) {
                        this.step(strana);
                        this.turn(90);
                }
                this.closePolygon();
        }
        public void hviezda4(double dlzkaCipu, double uhol) {
                this.setFillColor(Color.yellow);
                this.openPolygon();
                this.setPenColor(Color.red);
                this.setPenWidth(4);
                for (int i = 0; i < 4; i++) {
                        this.step(dlzkaCipu);
                        this.turn(180 - uhol);
                        this.step(dlzkaCipu);
                        this.turn(-(90 - uhol));
                }
                this.closePolygon();
        }
        public void diamant(double uhol, double dlzkaStrany){
        for (int i=0; i<3 ; i++){       
                this.turn(-uhol);
                this.step(dlzkaStrany);
                this.turn(2*uhol);
                this.step(dlzkaStrany);
                this.turn(180-2*uhol);
                this.step(dlzkaStrany);
                this.turn(2*uhol);
            this.step(dlzkaStrany);
            this.turn(300-uhol);
        }
        }
}