Riešenia (skupina D, 1. týždeň)

package sk.paz1a.practicals.task1;

import java.awt.Color;

import sk.upjs.jpaz2.*;

public class Launcher {

        public static void main(String[] args) {
                // create new "sandbox" - a place where turtles can live
                AnimatedWinPane sandbox = new AnimatedWinPane();

                // create new turtle and add it to the "sandbox"
                SmartTurtle franklin = new SmartTurtle();
                sandbox.add(franklin);

                franklin.setPosition(100, 270);

                Turtle cecil = new Turtle();
                sandbox.add(cecil);
                cecil.setPosition(200, 150);
                cecil.setPenColor(Color.RED);

                SmartTurtle albert = new SmartTurtle();
                sandbox.add(albert);

                // create new object inspector
                ObjectInspector oi = new ObjectInspector();
                // ask the inspector to inspect "franklin" and "sandbox"
                oi.inspect(franklin);
                oi.inspect(sandbox);
                oi.inspect(cecil);
                oi.inspect(albert);

                /*
                 * franklin.turn(90); franklin.step(75); franklin.turn(90); franklin.step(75);
                 * franklin.turn(90); franklin.step(75); franklin.turn(90); franklin.step(75);
                 */


                // albert.square();
                // albert.dashDotDash(100);
                // albert.cross(50);
                albert.sun(40);

                // you can put other initialization commands here

        }
}
package sk.paz1a.practicals.task1;

import java.awt.Color;

import sk.upjs.jpaz2.*;

public class SmartTurtle extends Turtle {

        public void square() {
                for (int i = 0; i < 4; i++) {
                        this.turn(90);
                        this.step(100);
                }
        }

        public void square(double size) {
                for (int i = 0; i < 4; i++) {
                        this.turn(90);
                        this.step(size);
                }
        }

        public void triangle(double size) {
                this.turn(30);
                for (int i = 0; i < 3; i++) {
                        this.step(size);
                        this.turn(120);
                }
                this.turn(-30);
        }

        public void rgbTriangle(double size) {
                this.setPenWidth(2);
                this.turn(30);

                this.setPenColor(Color.RED);
                this.step(size);
                this.turn(120);

                this.setPenColor(Color.GREEN);
                this.step(size);
                this.turn(120);

                this.setPenColor(Color.BLUE);
                this.step(size);
                this.turn(120);

                this.turn(-30);
        }

        public void rectangle(double size1, double size2) {
                for (int i = 0; i < 2; i++) {
                        this.step(size1);
                        this.turn(90);
                        this.step(size2);
                        this.turn(90);
                }

        }

        public void house(double size) {
                this.square(size);
                this.triangle(size);
                this.step(-size);
        }

        public void dashDotDash1(double length) {
                this.step(length);
                this.setPenDown(false);
                this.step(length);
                this.dot(length / 2);
                this.step(length);
                this.setPenDown(true);
                this.step(length);

        }

        public void dashDotDash(double length) {
                this.penDown(); // pre istotu pero zapnem
                this.step(length / 4); // ciarka
                this.penUp(); // pero vypnem
                this.step(length / 4); // medzera
                this.dot(length / 8); // bodka
                this.penUp(); // pero vypnem
                this.step(length / 4); // medzera
                this.penDown(); // pre istotu pero zapnem
                this.step(length / 4); // ciarka
        }

        public void cross(double size) {
                this.setPenColor(Color.RED);
                this.setPenWidth(2);
                for (int i = 0; i < 4; i++) {
                        for (int j = 0; j < 3; j++) {
                                this.step(size);
                                this.turn(90);

                        }
                        this.turn(180);
                }
        }

        public void sun(double radius) {
                this.setPenColor(Color.YELLOW);
                this.dot(radius / 2);
                this.setPenColor(Color.orange);
                for (int i = 0; i < 36; i++) {
                        this.step(radius);
                        this.step(-radius);
                        this.turn(360 / 36);
                }
        }

}