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