1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| //très importante méthode
package mathias.maboule;
import javax.swing.*;
import java.awt.*;
import java.util.*;
public abstract class KaBouge extends TimerTask {
static Canvas myCanvas = new Canvas();
static Random myRandom = new Random();
public static int objectifX, objectifY, intermediaireX, intermediaireY, deltaX, deltaY, intDistance, pente;
public static double doubleDistance;
protected static void calculParamétrique(int positionX, int positionY) {
objectifX = myRandom.nextInt(myCanvas.getWidth());
objectifY = myRandom.nextInt(myCanvas.getHeight());
//deltas
deltaX = objectifX - positionX;
deltaY = objectifY - positionY;
//pente
pente = (deltaY) / (deltaX);
do {
//distance position du point - objectif
doubleDistance = (Math.sqrt(deltaX*deltaX + deltaY*deltaY)) / 20;
intDistance = (int)doubleDistance;
//équation paramétrique
intermediaireX = positionX + intDistance*pente;
intermediaireY = positionY + intDistance;
} while(objectifX != intermediaireX && objectifY != intermediaireY);
}
} |
Partager