B8

Skupina B1

package sk.paz1a.practicals.Project8;

import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Locale;
import java.util.Scanner;

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

public class ClickPane extends WinPane {
        private Turtle pero;
        double[] xova = new double[1000];
        double[] yova = new double[1000];
        double[] polomery = new double[1000];
        int count = 0;

        public ClickPane() {
                this.pero = new Turtle();
                this.add(pero);
        }

        @Override
        protected void onMouseClicked(int x, int y, MouseEvent detail) {

                double polomer = 2 + Math.random() * 3;

                this.kresliBodku(x, y, polomer);

        }

        public void saveClicksToFile(File filename) {
                try (PrintWriter pw = new PrintWriter(filename)) {
                        for (int i = 0; i < count; i++) {
                                pw.println(xova[i] + " " + yova[i] + " " + polomery[i]);
                        }
                } catch (FileNotFoundException e) {
                        System.out.println("problem so suborom");
                }
        }

        public void protimetoda(File filename) {
                try (Scanner sc = new Scanner(filename)) {
                        sc.useLocale(Locale.US);
                        while (sc.hasNextDouble()) {
                                double x = sc.nextDouble();
                                double y = sc.nextDouble();
                                double rad = sc.nextDouble();
                                this.kresliBodku(x, y, rad);
                        }
                } catch (FileNotFoundException e) {
                        System.out.println("problem so suborom");
                }
        }
        public void kresliBodku(double x, double y, double rad) {
                this.pero.setPosition(x, y);
                this.pero.dot(rad);
                xova[count] = x;
                yova[count] = y;
                polomery[count] = rad;
                count++;
        }
}
package sk.paz1a.practicals.Project8;

import sk.upjs.jpaz2.Turtle;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Locale;
import java.util.Scanner;
public class TextTurtle extends Turtle {
        public double average(File file) {
                int count = 0;
                double result = 0;
                try (Scanner sc = new Scanner(file)) {
                        sc.useLocale(Locale.US);
                        while (sc.hasNextDouble()) {
                                count++;
                                double temp = sc.nextDouble();
                                result = result + temp;
                        }
                } catch (FileNotFoundException e) {
                        System.out.println("problem so suborom");
                }
                result = result/count;
                return result;
        }
        public int countLines(File file) {
                int result = 0;
                try (Scanner sc = new Scanner(file)) {
                        sc.useLocale(Locale.US);
                        while (sc.hasNextLine()) {
                                        result++;
                                        sc.nextLine();
                        }
                } catch (FileNotFoundException e) {
                        System.out.println("problem so suborom");
                }
        return result;
        }
}
package sk.paz1a.practicals.Project8;

import sk.upjs.jpaz2.*;

public class Launcher {

        public static void main(String[] args) {
                ClickPane cp = new ClickPane();
                TextTurtle tt = new TextTurtle();
                ObjectInspector oi = new ObjectInspector();
                oi.inspect(cp);
                oi.inspect(tt);
        }
}

Skupina B2

package sk.paz1a.practicals.task8;

import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Locale;
import java.util.Scanner;

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

public class ClickPane extends WinPane {
        Turtle franklin = new Turtle();
        double[] vyroky = new double[3000];
        int bodky = 0;

        public ClickPane() {
                this.add(franklin);
        }

        @Override
        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                if ((detail.getButton() == MouseEvent.BUTTON3)) {
                        File file = new File("bodky.txt");
                        this.saveClicksToFile(file);
                } else {
                        double nahoda = Math.random() * 3 + 2;
                        this.franklin.setPosition(x, y);
                        this.franklin.dot(nahoda);
                        vyroky[bodky * 3] = x;
                        vyroky[bodky * 3 + 1] = y;
                        vyroky[bodky * 3 + 2] = nahoda;
                        bodky++;
                }
        }

        public void saveClicksToFile(File file) {
                try (PrintWriter pw = new PrintWriter(file)) {
                        for (int i = 0; i < bodky; i++) {
                                pw.println(vyroky[i * 3] + " " + vyroky[i * 3 + 1] + " " + vyroky[i * 3 + 2]);
                        }
                } catch (FileNotFoundException e) {
                        System.err.println("Súbor " + file.getName() + " som nenašiel");
                }
        }

        public void counterSaveClicksToFile(File file) {
                try (Scanner s = new Scanner(file)) {
                        s.useLocale(Locale.US);
                        while (s.hasNextDouble()) {
                                double bodkaX = s.nextDouble();
                                double bodkaY = s.nextDouble();
                                double bodkaVelkost = s.nextDouble();
                                vyroky[bodky * 3] = bodkaX;
                                vyroky[bodky * 3 + 1] = bodkaY;
                                vyroky[bodky * 3 + 2] = bodkaVelkost;
                                bodky++;
                                this.franklin.setPosition(bodkaX, bodkaY);
                                this.franklin.dot(bodkaVelkost);
                        }

                } catch (FileNotFoundException e) {
                        System.err.println("Súbor " + file.getName() + " som nenašiel");
                }

        }
}
package sk.paz1a.practicals.task8;

import java.io.File;

public class Launcher {

        public static void main(String[] args) {
                ClickPane cp = new ClickPane();

                cp.counterSaveClicksToFile(new File("C:\\Users\\Attila\\eclipse-workspace\\task8\\bodky.txt"));
        }
}

Skupina B3

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;

public class ClickPane extends WinPane {

        private int[] xSuradnice = new int[1000];
        private int[] ySuradnice = new int[1000];
        private double[] bodky = new double[1000];
        private int pocetKliknuti = 0;
        private File file = new File("kliknutia.txt");

        @Override
        protected void onMouseClicked(int x, int y, MouseEvent detail) {
                if (detail.getButton() == MouseEvent.BUTTON1 && pocetKliknuti < 1000) {
                        xSuradnice[pocetKliknuti] = x;
                        ySuradnice[pocetKliknuti] = y;
                        double bodka = 2 + Math.random() * 3;
                        bodky[pocetKliknuti] = bodka;
                        Turtle turtle = new Turtle();
                        this.add(turtle);
                        turtle.setPosition(x, y);
                        turtle.dot(bodka);
                        this.remove(turtle);
                        pocetKliknuti++;
                        saveClicksToFile(file);
                }
        }

        public void saveClicksToFile(File file) {
                try (PrintWriter pw = new PrintWriter(file)) {
                        for (int i = 0; i < pocetKliknuti; i++) {
                                pw.println(xSuradnice[i] + " " + ySuradnice[i] + " " + bodky[i]);
                        }
                } catch (FileNotFoundException e) {
                        System.out.println("Problem so suborom");
                }
        }

        public void loadClicksFromFile(String file) {
                File f = new File(file);
                try (Scanner sc = new Scanner(f)) {
                        int pocitadlo = 0;
                        xSuradnice = new int[1000];
                        ySuradnice = new int[1000];
                        bodky = new double[1000];
                        while (sc.hasNextLine()) {
                                String line = sc.nextLine();
                                Scanner citacRiadka = new Scanner(line);
                                citacRiadka.useLocale(Locale.US);
                                int x = citacRiadka.nextInt();
                                int y = citacRiadka.nextInt();
                                double bodka = citacRiadka.nextDouble();

                                // nedokoncili sme

                                xSuradnice[pocitadlo] = x;
                                ySuradnice[pocitadlo] = y;
                                bodky[pocitadlo] = bodka;

                                pocitadlo++;

                                citacRiadka.close();

                        }
                } catch (FileNotFoundException e) {
                        System.out.println("Chyba");
                }
        }

}
public class Launcher {

        public static void main(String[] args) {
                ClickPane p = new ClickPane();
                p.loadClicksFromFile("nacitajKliknutia.txt");
        }
}