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