plus de probleme de la ligne qui sort de l'écran
This commit is contained in:
@@ -14,41 +14,51 @@ public class Ligne extends ObjetGraphique {
|
||||
|
||||
protected ArrayList<Segment> listeSegments = new ArrayList<Segment>();
|
||||
|
||||
public Ligne(){
|
||||
protected double limiteHaut = 50;
|
||||
protected double limiteBas = 550;
|
||||
|
||||
public Ligne() {
|
||||
double x = 0;
|
||||
double y = 200;
|
||||
double dx,dy;
|
||||
double dx, dy;
|
||||
|
||||
Segment s;
|
||||
for (int i=0; i<nbSegments; i++){
|
||||
dx = Math.random()*20+80;
|
||||
dy = Math.random()*40-20;
|
||||
s = new Segment(x,y,dx,dy);
|
||||
s.setCouleur(new Color(0.2f,0.2f,0.2f));
|
||||
for (int i = 0; i < nbSegments; i++) {
|
||||
dx = Math.random() * 20 + 80;
|
||||
dy = Math.random() * 40 - 20;
|
||||
|
||||
if (y + dy > limiteBas) {
|
||||
dy = limiteBas - y;
|
||||
}
|
||||
if (y + dy < limiteHaut) {
|
||||
dy = limiteHaut - y;
|
||||
}
|
||||
|
||||
s = new Segment(x, y, dx, dy);
|
||||
s.setCouleur(new Color(0.2f, 0.2f, 0.2f));
|
||||
|
||||
listeSegments.add(s);
|
||||
|
||||
x+=dx;
|
||||
y+=dy;
|
||||
x += dx;
|
||||
y += dy;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void Afficher(Graphics g){
|
||||
public void Afficher(Graphics g) {
|
||||
Graphics2D g2D = (Graphics2D) g;
|
||||
g2D.setStroke(new BasicStroke(3.0f));
|
||||
|
||||
for(Segment s : listeSegments) {
|
||||
for (Segment s : listeSegments) {
|
||||
s.Afficher(g);
|
||||
if(SegCourant==null){
|
||||
if(xCercle<s.x + s.xLong && xCercle>s.x){
|
||||
SegCourant=s;
|
||||
if (SegCourant == null) {
|
||||
if (xCercle < s.x + s.xLong && xCercle > s.x) {
|
||||
SegCourant = s;
|
||||
}
|
||||
}
|
||||
else{
|
||||
if((SegCourant.x + SegCourant.xLong)<xCercle){
|
||||
if(s.x<=xCercle && (s.xLong)>=xCercle){
|
||||
SegCourant=s;
|
||||
} else {
|
||||
if ((SegCourant.x + SegCourant.xLong) < xCercle) {
|
||||
if (s.x <= xCercle && (s.xLong) >= xCercle) {
|
||||
SegCourant = s;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -57,7 +67,7 @@ public class Ligne extends ObjetGraphique {
|
||||
|
||||
@Override
|
||||
public void Animer() {
|
||||
for(Segment s : listeSegments) {
|
||||
for (Segment s : listeSegments) {
|
||||
s.Animer();
|
||||
s.x -= 10;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user