import java.awt.event.MouseEvent;
import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;
public class GrafickyEditor extends WinPane {
private Turtle korytnacka = new Turtle();
boolean laveDole = false;
public GrafickyEditor(){
this.add(korytnacka);
}
@Override
protected void onMouseClicked(int x, int y, MouseEvent detail) {
korytnacka.setPosition(x, y);
}
@Override
protected void onMouseMoved(int x, int y, MouseEvent detail) {
double startX = korytnacka.getX();
double startY = korytnacka.getY();
if(detail.isAltDown()){
korytnacka.turnTowards(x, y);
korytnacka.moveTo(x, y);
korytnacka.setPosition(startX, startY);
}
}
@Override
protected void onMouseDragged(int x, int y, MouseEvent detail) {
if(laveDole){
korytnacka.moveTo(x, y);
}
}
@Override
protected void onMousePressed(int x, int y, MouseEvent detail) {
// TODO Auto-generated method stub
if (detail.getButton() == MouseEvent.BUTTON1){
laveDole = true;
}
}
@Override
protected void onMouseReleased(int x, int y, MouseEvent detail) {
// TODO Auto-generated method stub
if (detail.getButton() == MouseEvent.BUTTON1){
laveDole = false;
}
}
}
import java.awt.Color;
import java.awt.event.MouseEvent;
import sk.upjs.jpaz2.*;
public class Korytnackovo extends WinPane {
Turtle[] korytnacky;
public Korytnackovo() {
korytnacky = new Turtle[10];
for (int i = 0; i < 10; i++) {
this.korytnacky[i] = new Turtle();
this.korytnacky[i].setPosition(Math.random() * this.getWidth(),
Math.random() * this.getHeight());
// this.korytnacky[i].setPosition(i*20,150);
this.add(this.korytnacky[i]);
}
}
public void posunITu(int idx, double dlzka) {
korytnacky[idx].step(dlzka);
}
public void nahodneFarby() {
for (int i = 0; i < korytnacky.length; i++) {
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();
}
@Override
protected void onMouseClicked(int x, int y, MouseEvent detail) {
korytnacky[(int) (Math.random() * korytnacky.length)].moveTo(x, y);
}
public void krok() {
Turtle ita;
Turtle iplus1;
for (int i = 0; i < 10; i++) {
ita = korytnacky[i];
iplus1 = korytnacky[(i + 1) % 10];
ita.turnTowards(iplus1.getPosition());
ita.step((ita.distanceTo(iplus1.getPosition())) / 10.0);
// alebo
// korytnacky[i].turnTowards(korytnacky[(i + 1) %
// 10].getPosition());
// korytnacky[i].step(korytnacky[i].distanceTo(korytnacky[(i + 1) %
// 10].getPosition()) / 10);
}
}
public void kroky(int pocetKrokov) {
for (int i = 0; i < pocetKrokov; i++) {
krok();
JPAZUtilities.delay(100);
}
}
public void doKruhu(double polomer) {
for (int i = 0; i < korytnacky.length; i++) {
korytnacky[i].center();
korytnacky[i].setDirection(i * 36);
korytnacky[i].penUp();
korytnacky[i].step(polomer);
korytnacky[i].penDown();
}
}
public int pocetTopKorytnaciek(double zhora){
int vysledok=0;
for (int i=0; i<10; i++){
if(korytnacky[i].getY()<zhora){
vysledok++;
}
}
return vysledok;
}
}