C4

import sk.upjs.jpaz2.ObjectInspector;


public class Spustac {

        /**
         * @param args
         */

        public static void main(String[] args) {
            MriezkovaPlocha plocha = new MriezkovaPlocha();
            ObjectInspector oi = new ObjectInspector();
            oi.inspect(plocha);

            plocha.mriezka();
            TachoKorytnacka katka = new TachoKorytnacka();
            plocha.add(katka);
            oi.inspect(katka);
            katka.center();

                Znakarka jozko = new Znakarka();
                System.out.println(jozko.odstranZbytocneMedzery("    Ahoj    svet   "));
                System.out.println(jozko.camelFormatovac("    Ahoj    svet   "));
        }

}
import sk.upjs.jpaz2.Turtle;

public class Znakarka extends Turtle {

        public String sameZnakySB(char znak, int dlzka) {
                StringBuilder s = new StringBuilder();
                for (int i = 0; i < dlzka; i++) {
                        s.append(znak);
                }
                return s.toString();
        }

        public String sameZnaky(char znak, int dlzka) {
                String s = "";
                for (int i = 0; i < dlzka; i++) {
                        s = s + znak;
                }
                return s;
        }

        public boolean suSameZnaky(String s) {
                if (s == null)
                        return true;
                for (int i = 0; i < s.length() - 1; i++) {
                        if (s.charAt(i) != s.charAt(i + 1))
                                return false;
                }
                return true;
        }

        public String odstranZbytocneMedzery(String s) {
                if (s == null) {
                        return null;
                }
                String pomocna = s.trim();
                StringBuilder vysledok = new StringBuilder();
                if (pomocna.length() == 0) {
                        return pomocna;
                }
                vysledok.append(pomocna.charAt(0));
                for (int i = 1; i < pomocna.length(); i++) {
                        if (!(pomocna.charAt(i - 1) == ' ' && pomocna.charAt(i) == ' ')) {
                                vysledok.append(pomocna.charAt(i));
                        }
                }
                return vysledok.toString();
        }

        public String camelFormatovac(String s) {
                if (s == null) {
                        return null;
                }
                String pomocna = this.odstranZbytocneMedzery(s);
                if (pomocna.length() == 0) {
                        return pomocna;
                }
                StringBuilder p = new StringBuilder();
                p.append(Character.toLowerCase(pomocna.charAt(0)));
                for (int i = 1; i < pomocna.length(); i++) {
                        if (pomocna.charAt(i) == ' ') {
                                // nepridavame
                        } else if (pomocna.charAt(i - 1) == ' ') {
                                // pridame velke pismeno
                                p.append(Character.toUpperCase(pomocna.charAt(i)));
                        } else {
                                // pridame male pismeno
                                p.append(Character.toLowerCase(pomocna.charAt(i)));
                        }
                }
                return p.toString();
        }
}
import java.awt.Color;
import java.awt.event.MouseEvent;

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

public class MriezkovaPlocha extends WinPane {

        private int pocitadlo = 0;

        public void mriezka() {
                // pridame korytnacku
                Turtle kreslic = new Turtle();
                this.add(kreslic);
                kreslic.setPosition(0, 0);

                // vykreslenie mriezky
                for (int i = 0; i < (this.getWidth() / 50 + 1); i++) {
                        kreslic.step(-this.getHeight());
                        kreslic.step(this.getHeight());
                        kreslic.setX(kreslic.getX() + 50);
                }
                kreslic.setPosition(0, 0);
                kreslic.turn(90);
                for (int i = 0; i < (this.getHeight() / 50 + 1); i++) {
                        kreslic.step(this.getWidth());
                        kreslic.step(-this.getWidth());
                        kreslic.setY(kreslic.getY() + 50);
                }

                // odstranime korytnacku
                this.remove(kreslic);
        }

        public void bodkaDoPolicka(int stlpec, int riadok, Color farba) {
                Turtle kreslic = new Turtle();
                this.add(kreslic);

                kreslic.setPosition(stlpec * 50 + 25, riadok * 50 + 25);
                kreslic.setFillColor(farba);
                kreslic.dot(20);
                this.remove(kreslic);

        }

        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                int stlpec = x / 50;
                int riadok = y / 50;
                this.pocitadlo++;
                if (pocitadlo % 2 == 0) {
                        this.bodkaDoPolicka(stlpec, riadok, Color.RED);
                } else {
                        this.bodkaDoPolicka(stlpec, riadok, Color.BLUE);
                }

        }

}
import sk.upjs.jpaz2.Turtle;


public class TachoKorytnacka extends Turtle {
        private double prejdenaDraha=0;

        public void meranyKrok(double dlzka){
                this.step(dlzka);
                prejdenaDraha = prejdenaDraha+dlzka;
        }
        public double getPrejdenaDraha(){
                return prejdenaDraha;
        }

}