import java.awt.Color;
import sk.upjs.jpaz2.*;
public class ChytraKorytnacka extends Turtle {
public void nUholnik(int n, double dlzkaStrany) {
for (int i = 0; i < n; i++) {
this.step(dlzkaStrany);
this.turn(360.0 / n);
}
}
public void rovnoramenny(double rameno, double uhol) {
double xPoziciaC = this.getX();
double yPoziciaC = this.getY();
double natocenieKorytnacky = this.getDirection();
this.turn(-uhol / 2);
this.step(rameno);
double xPoziciaA = this.getX();
double yPoziciaA = this.getY();
this.step(-rameno);
this.turn(uhol);
this.step(rameno);
this.moveTo(xPoziciaA, yPoziciaA);
this.setPosition(xPoziciaC, yPoziciaC);
this.setDirection(natocenieKorytnacky);
}
public void mlyn(int pocetRamien, double dlzkaRamena) {
for (int i = 0; i < pocetRamien; i++) {
this.rovnoramenny(dlzkaRamena, 11);
this.turn(360.0 / pocetRamien);
}
}
public void pochodzkaKruh(int pocetKrokov, double polomer) {
// ulozime si startovaciu poziciu
double xPozicia = this.getX();
double yPozicia = this.getY();
for (int i = 0; i < pocetKrokov; i++) {
this.turn(Math.random() * 360);
this.step(5);
// vzdialenost je mensia/rovna ako polomer kruhu
if (this.distanceTo(xPozicia, yPozicia) > polomer) {
this.step(-5);
}
}
}
public void pochodzkaTrojkruh(int pocetKrokov, double polomer) {
// ulozime si startovaciu poziciu
double xPozicia = this.getX();
double yPozicia = this.getY();
for (int i = 0; i < pocetKrokov; i++) {
if(this.distanceTo(xPozicia, yPozicia) < polomer/3){
this.penUp();
} else {
this.penDown();
if(this.distanceTo(xPozicia, yPozicia) < 2*polomer/3){
this.setPenColor(Color.blue);
} else {
this.setPenColor(Color.red);
}
}
this.turn(Math.random() * 360);
this.step(5);
// vzdialenost je mensia/rovna ako polomer kruhu
if (this.distanceTo(xPozicia, yPozicia) > polomer) {
this.step(-5);
}
}
}
public void retiazkaRGB(int pocetKoralov, double polomerKoralu){
this.penUp();
for(int i=0; i<pocetKoralov; i++){
if(i % 3 == 0){
this.setFillColor(Color.red);
}
if(i % 3 == 1){
this.setFillColor(Color.green);
}
if(i % 3 == 2){
this.setFillColor(Color.blue);
}
this.dot(polomerKoralu);
this.step(2*polomerKoralu);
}
this.penDown();
}
public void setricObrazovky(int sirkaPlochy, int vyskaPlochy){
for(int i=0; i<10000000; i++){
this.setPenColor(new Color((int)(Math.random()*256), (int)(Math.random()*256), (int)(Math.random()*256)));
this.setPosition(Math.random()*sirkaPlochy, Math.random()*vyskaPlochy);
this.moveTo(Math.random()*sirkaPlochy, Math.random()*vyskaPlochy);
}
}
public void zahada() {
for (int i=0; i<256; i++) {
Color c = new Color(i, 100, 100);
this.setPenColor(c);
this.setPosition(i, 0);
this.moveTo(i, 150);
}
}
}