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 Turtle kreslic = new Turtle();
        private int pocetBodiek = 0;
        private static final int ROZMER_STVORCEKA = 50;
        private static final double POLOMER_BODKY = 20;
        public void mriezka() {
                int pocetVRiadku = this.getWidth() / ROZMER_STVORCEKA;
                int pocetVStlpci = this.getHeight() / ROZMER_STVORCEKA;
                for (int y = 0; y < pocetVStlpci; y++) {
                        for (int x = 0; x < pocetVRiadku; x++) {
                                stvorcek(x * ROZMER_STVORCEKA, y * ROZMER_STVORCEKA, ROZMER_STVORCEKA);
                        }
                }
        }
        public void stvorcek(double x, double y, double strana) {
                this.add(kreslic);
                kreslic.setDirection(180);
                kreslic.setPosition(x, y);
                for (int i = 0; i < 4; i++) {
                        kreslic.step(strana);
                        kreslic.turn(-90);
                }
                this.remove(kreslic);
        }
        public void bodkaDoPolicka(int stlpec, int riadok, Color farba) {
                this.add(kreslic);
                // stred stvorceka, kde ideme kreslit bodku
                double suradnicaX = stlpec * ROZMER_STVORCEKA + ROZMER_STVORCEKA / 2;
                double suradnicaY = riadok * ROZMER_STVORCEKA + ROZMER_STVORCEKA / 2;
                kreslic.setPosition(suradnicaX, suradnicaY);
                kreslic.setFillColor(farba);
                kreslic.dot(POLOMER_BODKY);
                this.remove(kreslic);
        }
        @Override
        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                super.onMouseClicked(x, y, detail);
                // nas kod na kreslenie bodky do policka
                int riadok = y / ROZMER_STVORCEKA;
                int stlpec = x / ROZMER_STVORCEKA;
                // vyberieme si farbu a kreslime bodku
                if (pocetBodiek % 2 == 0) {
                        bodkaDoPolicka(stlpec, riadok, Color.red);
                } else {
                        bodkaDoPolicka(stlpec, riadok, Color.blue);
                }
                pocetBodiek++;
        }
}