package PAZ1a.lecture08;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Locale;
import java.util.Scanner;
import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;
import sk.upjs.visualscanner.VisualScanner;
public class ClickPane extends WinPane {
private int[] poleX = new int[20];
private int[] poleY = new int[20];
private double[] polePolomerov = new double[20];
private int pocetBodiek = 0;
public void bodka(int x, int y, double polomer) {
Turtle pomocnica = new Turtle();
this.add(pomocnica);
pomocnica.setPosition(x, y);
pomocnica.dot(polomer);
this.remove(pomocnica);
poleX[pocetBodiek] = x;
poleY[pocetBodiek] = y;
polePolomerov[pocetBodiek] = polomer;
pocetBodiek++;
}
@Override
protected void onMouseClicked(int x, int y, MouseEvent detail) {
double polomer = 2 + (Math.random() * 3);
this.bodka(x, y, polomer);
// System.out.println(Arrays.toString(poleX));
// System.out.println(Arrays.toString(poleY));
// System.out.println(Arrays.toString(polePolomerov));
// System.out.println();
}
public void saveClicksToFile(String output) {
File subor = new File(output);
PrintWriter pw = null;
try {
pw = new PrintWriter(subor);
for (int i = 0; i < pocetBodiek; i++) {
pw.println(poleX[i] + " " + poleY[i] + " " + polePolomerov[i]);
}
} catch (FileNotFoundException e) {
System.err.println("Súbor " + subor.getName() + " som nenašiel");
} finally {
if (pw != null)
pw.close();
}
}
public void doClicksFromFile(String input) {
File subor = new File(input);
Scanner sc = null;
try {
sc = new Scanner(subor);
sc.useLocale(Locale.US);
while (sc.hasNext()) {
int x = sc.nextInt();
int y = sc.nextInt();
double r = sc.nextDouble();
// System.out.println(x + " " + y + " " + r);
this.bodka(x, y, r);
}
} catch (FileNotFoundException e) {
System.out.println("Súbor " + subor.getName() + " som nenašiel");
} finally {
if (sc != null)
sc.close();
}
}
}