D4

import sk.upjs.jpaz2.Turtle;

public class Znakarka extends Turtle {

        public int pocetVyskytov(String s, char znak) {
                int ruka = 0;
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) == znak) {
                                ruka++;
                        }
                }

                return ruka;
        }

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

                return true;
        }

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

                return vysledok;
        }

        public String sameZnaky2(char znak, int dlzka) {
                StringBuilder papier = new StringBuilder();
                for (int i=0; i<dlzka; i++) {
                        papier.append(znak);
                }

                return papier.toString();
        }
}
import sk.upjs.jpaz2.*;


public class Spustac {

        /**
         * @param args
         */

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

                Znakarka zofka = new Znakarka();
                oi.inspect(zofka);

                System.out.println(zofka.pocetVyskytov("Java", 'a'));

                MriezkovaPlocha mp = new MriezkovaPlocha();
                mp.mriezka();
        }

}
import sk.upjs.jpaz2.*;


public class MriezkovaPlocha extends WinPane {

        public void mriezka() {
                Turtle kreslic = new Turtle();
                this.add(kreslic);

                // Kreslim horizontalne ciary
                int pocetHCiar = this.getWidth() / 50;
                for (int i=0; i<pocetHCiar; i++) {
                        kreslic.setPosition(0, i*50);
                        kreslic.moveTo(this.getWidth(), i*50);
                }

                this.remove(kreslic);
        }

}
import sk.upjs.jpaz2.Turtle;

public class Znakarka extends Turtle {

        public int pocetVyskytov(String s, char znak) {
                int ruka = 0;
                for (int i = 0; i < s.length(); i++) {
                        if (s.charAt(i) == znak) {
                                ruka++;
                        }
                }

                return ruka;
        }

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

                return true;
        }

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

                return vysledok;
        }

        public String sameZnaky2(char znak, int dlzka) {
                StringBuilder papier = new StringBuilder();
                for (int i = 0; i < dlzka; i++) {
                        papier.append(znak);
                }

                return papier.toString();
        }

        public double sucet(double c, int k) {
                double vysledok = 0;
                double mocnina = 1;
                for (int i = 1; i <= k; i++) {
                        mocnina = c * mocnina;
                        vysledok = vysledok + i * mocnina;

                }
                return vysledok;
        }

        public String zduplikujZnaky(String s) {
                StringBuilder sb = new StringBuilder();

                for (int i=0; i<s.length(); i++) {
                        sb.append(s.charAt(i));
                        sb.append(s.charAt(i));
                }

                return sb.toString();
        }

        public int pocetSlov(String s) {
                int pocet = 0;
                s = s + ' ';
                for (int i=1; i<s.length(); i++) {
                        if ((s.charAt(i) == ' ') && (s.charAt(i-1) != ' ')) {
                                pocet++;
                        }
                }

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

import sk.upjs.jpaz2.*;

public class MriezkovaPlocha extends WinPane {

        private int pocetTahov;

        public void mriezka() {
                Turtle kreslic = new Turtle();
                this.add(kreslic);

                // Kreslim horizontalne ciary
                int pocetHCiar = this.getWidth() / 50;
                for (int i = 0; i < pocetHCiar; i++) {
                        kreslic.setPosition(0, i * 50);
                        kreslic.moveTo(this.getWidth(), i * 50);
                }

                // Kreslim vertikalne ciary
                int pocetVCiar = this.getWidth() / 50;
                for (int i = 0; i < pocetVCiar; i++) {
                        kreslic.setPosition(i * 50, 0);
                        kreslic.moveTo(i * 50, this.getHeight());
                }

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

        @Override
        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                if (this.pocetTahov % 2 == 0) {
                        this.bodkaDoPolicka(x/50, y/50, Color.blue);
                } else {
                        this.bodkaDoPolicka(x/50, y/50, Color.red);
                }
                this.pocetTahov++;
        }
}