package sk.upjs.test;
import java.util.Arrays;
import sk.upjs.jpaz2.Pane;
import sk.upjs.jpaz2.Turtle;
public class ZoznamBodov {
        private FarebnyBod[] body;
        public ZoznamBodov() {
                this.body = new FarebnyBod[0];
        }
        public void pridaj(FarebnyBod bod) {
                FarebnyBod[] nBody = new FarebnyBod[body.length + 1];
                System.arraycopy(body, 0, nBody, 0, body.length);
                nBody[nBody.length - 1] = bod;
                body = nBody;
        }
        public ZoznamBodov(double minX, double minY, double maxX, double maxY,
                        int pocet) {
                this();
                for (int i = 0; i < pocet; i++) {
                        double x = Math.random() * (maxX - minX) + minX;
                        double y = Math.random() * (maxY - minY) + minY;
                        FarebnyBod bod = new FarebnyBod(x, y);
                        this.pridaj(bod);
                }
        }
        public void vymaz(FarebnyBod fb){
                int idx = -1;
                FarebnyBod[] nbody= new FarebnyBod[body.length-1];
                for (int i = 0; i < body.length; i++) {
                        if(fb.equals(body[i])){
                                idx = i;
                                break;
                        }
                }
        System.arraycopy(body, 0, nbody, 0, idx);
        System.arraycopy(body, idx+1, nbody, idx, nbody.length-idx);
        body = nbody;
        }
        public void vykresli(Pane plocha){
                Turtle kreslic = new Turtle();
                plocha.add(kreslic);
                for (int i = 0; i < body.length; i++) {
                        kreslic.setPosition(body[i]);
                        kreslic.setFillColor(body[i].getFarba());
                        kreslic.dot(5);
                }
                plocha.remove(kreslic);
        }
        @Override
        public String toString() {
                return Arrays.toString(body);
        }
}