diff --git a/out/production/projet-dev/linea/Jeu.class b/out/production/projet-dev/linea/Jeu.class index 4bed8cb..265aa7e 100644 Binary files a/out/production/projet-dev/linea/Jeu.class and b/out/production/projet-dev/linea/Jeu.class differ diff --git a/out/production/projet-dev/linea/ZoneDessin.class b/out/production/projet-dev/linea/ZoneDessin.class index 29ba8f7..6adf3f1 100644 Binary files a/out/production/projet-dev/linea/ZoneDessin.class and b/out/production/projet-dev/linea/ZoneDessin.class differ diff --git a/src/Jeu.java b/src/Jeu.java index a49ef86..4c2617e 100644 --- a/src/Jeu.java +++ b/src/Jeu.java @@ -24,7 +24,8 @@ public class Jeu implements KeyListener, ActionListener{ protected Cercle demiCercleAvant = new Cercle(90,-180); // celui qui est sur la ligne protected Cercle demiCercleArriere = new Cercle(90,180); // celui qui est derrière la ligne - // A FAIRE : ajouter les objets graphiques manquants, s'il y en a + // A FAIRE : ajouter les objets graphiques manquants, s'il y en a + protected Ligne lili = new Ligne(); // Timer : un objet qui émet des événements à un intervalle choisi, // il sert à donner le pas de l'animation @@ -52,6 +53,7 @@ public class Jeu implements KeyListener, ActionListener{ labScore.setBounds(20, 0, 200, 50); ecran.add(labScore); */ + ecran.traiterBoucleAnimation(); } @@ -113,7 +115,11 @@ public class Jeu implements KeyListener, ActionListener{ // A FAIRE : // placer dans l'instance de l'écran tous les objets graphiques nécessaires - // par exemple : ecran.ajouterObjet(demiCerleArriere); + // par exemple : + ecran.ajouterObjet(demiCercleArriere); + ecran.ajouterObjet(demiCercleAvant); + ecran.ajouterObjet(lili); + // on indique que c'est le jeu qui traitera les appuis sur une touche @@ -139,7 +145,7 @@ public class Jeu implements KeyListener, ActionListener{ //------------------------------------------------------------------------- @Override public void actionPerformed(ActionEvent e) { - + ecran.traiterBoucleAnimation(); } } diff --git a/src/ZoneDessin.java b/src/ZoneDessin.java index dee5530..e40a215 100644 --- a/src/ZoneDessin.java +++ b/src/ZoneDessin.java @@ -20,7 +20,7 @@ public class ZoneDessin extends JPanel { // hérite d'une classe du frameWork st // un booleen qui permet d'arreter l'animation (suspendre) protected boolean estArrete = false; - + protected ArrayList listeObjets = new ArrayList<>(); //------------------------------------------------------------------------- // METHODES @@ -41,7 +41,7 @@ public class ZoneDessin extends JPanel { // hérite d'une classe du frameWork st // Ajout d'un objet graphique à la zonde de dessin //------------------------------------------------------------------------- public void ajouterObjet(ObjetGraphique unObjet) { - + listeObjets.add(unObjet); } @@ -71,11 +71,12 @@ public class ZoneDessin extends JPanel { // hérite d'une classe du frameWork st // 1. on déplace chaque objet graphique // A FAIRE : décommenter lorsque cela devienda exécutable, et compléter - /* + for (ObjetGraphique obj : listeObjets){ // A FAIRE : demander à obj de s'animer + obj.Animer(); } - */ + // 2. on demande à redessiner, ce qui déclenchera automatiquement @@ -96,8 +97,11 @@ public class ZoneDessin extends JPanel { // hérite d'une classe du frameWork st // on indique qu'il faut de l'antialiasing Graphics2D g2D = (Graphics2D) g; g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); - - // à compléter + + for (ObjetGraphique obj : listeObjets){ + // A FAIRE : demander à obj de s'animer + obj.Afficher(g2D); + } } }