B4

package sk.paz1a.practicals.task4;

import sk.upjs.jpaz2.*;

public class SmartTurtle extends Turtle {

        public int countChar(String s, char c) {
                int counter = 0;
                for (int i = 0; i < s.length(); i++) {
                        char d = s.charAt(i);
                        if (d == c) {
                                counter++;
                        }
                }
                return counter;
        }

        public boolean isPalindrome(String s) {

                s = s.replaceAll(" ", "");
//              StringBuilder sb = new StringBuilder();
//              for (int j=0; j< s.length();j++) {
//                      char aktualnyZnak = s.charAt(j);
//                      if (aktualnyZnak != ' ') {
//                              sb.append(aktualnyZnak);
//                      }
//              }
//             
//              s = sb.toString();

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

                return true;
        }

        public boolean containsDoubleSpace(String s) {
                for (int i = 0; i < s.length() - 1; i++) {
                        if (s.charAt(i) == ' ' && s.charAt(i + 1) == ' ') {
                                return true;
                        }
                }

                return false;
        }

        public String unicharString(char c, int n) {
                String result = "";
                for (int i = 0; i < n; i++) {
                        result = result + c;
                }

                return result;
        }

        public String unicharString2(char c, int n) {
                String result = "";
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < n; i++) {
                        sb.append(c);
                }

                result = sb.toString();

                return result;
        }

}
 
package sk.paz1a.practicals.task4;

//import sk.upjs.jpaz2.*;

public class Launcher {

        public static void main(String[] args) {
          SmartTurtle franklin = new SmartTurtle();
          String s = "Čo je to referencia?";
          int pocet =franklin.countChar(s, 'o');
          System.out.println(pocet);

          String palindrom = ("velipsespilev");
          System.out.println(franklin.isPalindrome(palindrom));

          String palindrom2 = ("v elipse spi lev");
          System.out.println(franklin.isPalindrome(palindrom2));

          String doublespace = "  ";
          System.out.println(franklin.containsDoubleSpace(doublespace));

          System.out.println(franklin.unicharString('a', 10));
          System.out.println(franklin.unicharString2('a', 10));
        }
}
package sk.paz1a.practicals.task4;

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

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

public class GridPane extends WinPane {

        private boolean lastWasBlue = false;

        public void drawGrid() {
                // zozeniem niekoho kto bude kreslit
                Turtle someone = new Turtle();
                this.add(someone);

                // niekto nakresli zvisle ciary
                for (int i = 0; i <= this.getWidth() / 50; i++) {
                        someone.setPosition(i * 50, 0);
                        someone.moveTo(i * 50, this.getHeight());
                }

                // niekto nakresli vodorovne ciary
                for (int y = 0; y < this.getHeight(); y = y + 50) {
                        someone.setPosition(0, y);
                        someone.moveTo(this.getWidth(), y);
                }

                // podakujem sa a poslem ho prec
                this.remove(someone);
        }

        public void drawDot(int column, int row, Color dotColor) {
                Turtle someone = new Turtle();
                this.add(someone);

                someone.setPosition(column * 50 + 25, row * 50 + 25);
                someone.setFillColor(dotColor);
                someone.dot(20);

                this.remove(someone);
        }

        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                if (this.lastWasBlue) {
                        this.drawDot(x / 50, y / 50, Color.RED);
                } else {
                        this.drawDot(x / 50, y / 50, Color.BLUE);
                }
                this.lastWasBlue = !this.lastWasBlue;

        }

}