import java.awt.Color;
import java.awt.event.MouseEvent;
import sk.upjs.jpaz2.JPAZUtilities;
import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;
public class Korytnackovo extends WinPane {
Turtle[] korytnacky;
public Korytnackovo() {
korytnacky = new Turtle[10];
for (int i = 0; i < korytnacky.length; i++) {
korytnacky[i] = new Turtle();
this.add(korytnacky[i]); // pridáme korytnačku i do plochy
korytnacky[i].setPosition(Math.random() * this.getWidth(),
Math.random() * this.getHeight());
}
}
public void posunITu(int idx, double dlzka) {
this.korytnacky[idx].step(dlzka);
}
public void nahodneFarby() {
for (int i = 0; i < korytnacky.length; i++) {
this.korytnacky[i].setPenColor(new Color(
(int) (Math.random() * 256), (int) (Math.random() * 256),
(int) (Math.random() * 256)));
}
}
public Color sFarbouVon(int index) {
return korytnacky[index].getPenColor();
}
protected void onMouseClicked(int x, int y, MouseEvent detail) {
korytnacky[(int) (Math.random() * 10)].moveTo(x, y);
}
public void krok() {
for (int i = 0; i < korytnacky.length; i++) {
korytnacky[i].turnTowards(
korytnacky[(i + 1) % korytnacky.length].getX(),
korytnacky[(i + 1) % korytnacky.length].getY());
}
for (int i = 0; i < korytnacky.length; i++) {
korytnacky[i].step((korytnacky[i].distanceTo(korytnacky[(i + 1)
% korytnacky.length].getX(), korytnacky[(i + 1)
% korytnacky.length].getY())) / 10.0);
}
}
public void kroky(int pocetKrokov) {
for (int i = 0; i < pocetKrokov; i++) {
JPAZUtilities.delay(250);
this.krok();
}
}
public void doKruhu(double polomer) {
Turtle jozko = new Turtle();
this.add(jozko);
jozko.center();
jozko.penUp();
for (int i = 0; i < 10; i++) {
jozko.step(polomer);
korytnacky[i].setPosition(jozko.getX(), jozko.getY());
jozko.step(-polomer);
jozko.turn(360 / 10);
}
this.remove(jozko);
}
public void bezpecnyKruh(int indexKorytnacky) {
double polomer = 1000;//aky tu musim dat polomer?
for (int i = 0; i < korytnacky.length; i++) {
double vzdialenost = 0;
if (i==indexKorytnacky){
continue;
}
vzdialenost = korytnacky[i].distanceTo(korytnacky[indexKorytnacky]
.getPosition());
if (vzdialenost<polomer){
polomer = vzdialenost;
}
}
korytnacky[indexKorytnacky].dot(polomer);
}
}