A1

package sk.paz1a.practicals.task1;

import java.awt.Color;

import sk.upjs.jpaz2.*;

public class SmartTurtle extends Turtle {

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

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

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

        public void rgbTriangle(double size) {
                this.setPenWidth(2);
                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);
        }

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

        public void dashDotDash(double length) {
                this.step(length / 4);
                this.penUp();
                this.step(length / 4);
                this.dot(length / 8);
                this.step(length / 4);
                this.penDown();
                this.step(length);
        }

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

}
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);

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

                franklin.setPosition(100, 150);
                franklin.setPenColor(Color.blue);

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

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

                franklin.step(75);
                franklin.turn(90);
                franklin.step(75);
                franklin.turn(90);
                franklin.step(75);
                franklin.turn(90);
                franklin.step(75);
                franklin.turn(90);
        }
}