diff --git a/out/production/projet-dev/linea/Cercle.class b/out/production/projet-dev/linea/Cercle.class index b5bd10f..db01fb1 100644 Binary files a/out/production/projet-dev/linea/Cercle.class and b/out/production/projet-dev/linea/Cercle.class differ diff --git a/src/Cercle.java b/src/Cercle.java index 83a4e1a..1519197 100644 --- a/src/Cercle.java +++ b/src/Cercle.java @@ -125,7 +125,16 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl y+=depY; } - + boolean EnCollision(Segment segCourant){ + double t = (x - segCourant.x) / (x - segCourant.x + segCourant.xLong); + double yLigne = segCourant.y + segCourant.yLong * t; + + double collisionHautPos = y + rayon; + double collisionBasPos = y - rayon; + + return yLigne < collisionBasPos || yLigne > collisionHautPos; + } + } diff --git a/src/Jeu.java b/src/Jeu.java index 7926b47..719b1df 100644 --- a/src/Jeu.java +++ b/src/Jeu.java @@ -137,6 +137,7 @@ public class Jeu implements KeyListener, ActionListener{ horloge.start(); // A FAIRE : + demiCercleArriere.setCouleur(new Color(0.8f,0.0f,0.0f)); // donner la couleur des 2 demi-cercles, par exemple : demiCerleArriere.setCouleur(new Color(0.8f,0.0f,0.0f)); } @@ -147,6 +148,13 @@ public class Jeu implements KeyListener, ActionListener{ @Override public void actionPerformed(ActionEvent e) { ecran.traiterBoucleAnimation(); + + if (demiCercleAvant.EnCollision(lili.SegCourant)) + RecommencerPartie(); + } + + private void RecommencerPartie(){ + System.out.println("Fin de partie !"); } }