C5

import java.awt.event.MouseEvent;

import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;


public class GrafickyEditor extends WinPane {

        private Turtle pero;
        private boolean tahamPero;

        public GrafickyEditor() {
                this.pero = new Turtle();
                this.add(this.pero);
                this.pero.center();
        }

        @Override
        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                this.pero.setPosition(x, y);
        }

        @Override
        protected void onMouseMoved(int x, int y, MouseEvent detail) {
                if (detail.isAltDown()) {
                        this.pero.turnTowards(x, y);
                        double xPos = this.pero.getX();
                        double yPos = this.pero.getY();
                        this.pero.moveTo(x, y);
                        this.pero.setPosition(xPos, yPos);
                }
        }

        @Override
        protected void onMousePressed(int x, int y, MouseEvent detail) {
                if (detail.getButton() == MouseEvent.BUTTON1) {
                        if (this.pero.distanceTo(x, y) < 5) {
                                this.tahamPero = true;
                        }
                }
        }

        @Override
        protected void onMouseDragged(int x, int y, MouseEvent detail) {
                if (this.tahamPero) {
                        this.pero.moveTo(x, y);
                }
        }

        @Override
        protected void onMouseReleased(int x, int y, MouseEvent detail) {
                if (detail.getButton() == MouseEvent.BUTTON1) {
                        this.tahamPero = false;
                }
        }

}
import java.awt.Color;
import java.awt.event.MouseEvent;

import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;

public class Korytnackovo extends WinPane {

        private Turtle[] korytnacky;

        public Korytnackovo() {
                this.korytnacky = new Turtle[10];
                for (int i = 0; i < 10; i++) {
                        Turtle k = new Turtle();
                        this.add(k);
                        k.setPosition(Math.random() * this.getWidth(),
                                        Math.random() * this.getHeight());

                        this.korytnacky[i] = k;
                }
        }

        public void posunITu(int idx, double dlzka) {
                this.korytnacky[idx].step(dlzka);
        }

        public void nahodneFarby() {
                for (int i = 0; i < this.korytnacky.length; i++) {
                        int r = (int) (Math.random() * 256);
                        int g = (int) (Math.random() * 256);
                        int b = (int) (Math.random() * 256);
                        this.korytnacky[i].setPenColor(new Color(r, g, b));
                }
        }

        @Override
        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                int nahodnyIndex = (int)(Math.random() * this.korytnacky.length);
                this.korytnacky[nahodnyIndex].setPosition(x, y);
        }
}
import sk.upjs.jpaz2.ObjectInspector;


public class Spustac {

        /**
         * @param args
         */

        public static void main(String[] args) {
                //GrafickyEditor skicar = new GrafickyEditor();
                Korytnackovo skupinaC = new Korytnackovo();

                ObjectInspector oi = new ObjectInspector();
                oi.inspect(skupinaC);
        }

}