From 81b5e6da3434e78538f4d7e5ee08ff70f46190a4 Mon Sep 17 00:00:00 2001
From: bosskkev <kossivikevin29@gmail.com>
Date: Mon, 13 Nov 2023 17:57:52 +0100
Subject: [PATCH] =?UTF-8?q?corection=20=C3=A9norme=20bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/main/java/engine/Kernel.java              |  5 +--
 .../java/engine/graphic/GraphicEngine.java    | 39 ++++++++++++++++---
 .../java/engine/graphic/ImageComponent.java   |  4 ++
 src/main/java/pong/PongApp.java               |  2 +-
 4 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/src/main/java/engine/Kernel.java b/src/main/java/engine/Kernel.java
index 14abde2..92b6d52 100644
--- a/src/main/java/engine/Kernel.java
+++ b/src/main/java/engine/Kernel.java
@@ -45,6 +45,7 @@ public class Kernel {
         this.update();
         this.setKeysAndKeyReleasedListeners((JPanel) this.graphicEngine.getContentPane());
         soundEngine = new SoundEngine();
+        start();
     }
 
     /**
@@ -53,7 +54,7 @@ public class Kernel {
      * @throws IOException
      */
     public void start() throws IOException {
-        graphicEngine.update();
+        graphicEngine.start();
     }
 
     public void restart() throws IOException {
@@ -69,8 +70,6 @@ public class Kernel {
      * One step of the game. Update all objects positions and repaint the grid.
      */
     public void update() {
-        //System.out.println("One step");
-        // Updating all objects positions
 
         for (Engine engine: engines
              ) {
diff --git a/src/main/java/engine/graphic/GraphicEngine.java b/src/main/java/engine/graphic/GraphicEngine.java
index 8fef044..5c210be 100644
--- a/src/main/java/engine/graphic/GraphicEngine.java
+++ b/src/main/java/engine/graphic/GraphicEngine.java
@@ -39,26 +39,39 @@ public class GraphicEngine extends JFrame implements Engine {
         getContentPane().add(ic);
     }
 
-    @Override
-    public void update(){
+    public void start(){
         for (PongObject po : Kernel.gameObjects
-             ) {
+        ) {
             try {
                 this.draw(new ImageComponent(po.getImage(), po.getPosition(), po.getWidth(), po.getHeight()));
             } catch (IOException e) {
                 throw new RuntimeException(e);
             }
         }
+        drawRect();
         getContentPane().add(new ScoreComponent(new Coordinates2D(100, 100), new Coordinates2D(670, 100), PongApp.score1, PongApp.score2));
+
         repaint();
+
+        revalidate();
+
+    }
+
+    @Override
+    public void update(){
+
+        //updateContentPane();
+
+        repaint();
+
         revalidate();
     }
 
     @Override
     public void restart() {
         getContentPane().removeAll();
-        update();
-        drawRect(); //TODO: Trouver un moyen de ne pas avoir à redessiner le rectangle à chaque restart et rendre le restart plus générique
+        start();
+        //drawRect(); //TODO: Trouver un moyen de ne pas avoir à redessiner le rectangle à chaque restart et rendre le restart plus générique
     }
 
     public void drawRect(){
@@ -69,4 +82,20 @@ public class GraphicEngine extends JFrame implements Engine {
         this.getContentPane().add(new ScoreComponent(new Coordinates2D(100, 100), new Coordinates2D(500, 100), score1, score2));
     }
 
+
+    public void updateContentPane() {
+        System.out.println(getContentPane().getComponents().length);
+
+        /*for (Component jc: getContentPane().getComponents()
+             ) {
+            //System.out.println(jc.toString());
+            System.out.println(jc.getX() + " " + jc.getY());
+            jc.setLocation(0, 0);
+            getContentPane().getComponents()[0].setLocation(0, 0);
+            jc.repaint();
+        }
+
+         */
+        getContentPane().repaint();
+    }
 }
diff --git a/src/main/java/engine/graphic/ImageComponent.java b/src/main/java/engine/graphic/ImageComponent.java
index 2f57f83..3efac2a 100644
--- a/src/main/java/engine/graphic/ImageComponent.java
+++ b/src/main/java/engine/graphic/ImageComponent.java
@@ -33,6 +33,10 @@ public class ImageComponent extends JComponent {
         return position;
     }
 
+    public void setPosition(Coordinates2D position) {
+        this.position = position;
+    }
+
     @Override
     protected void paintComponent(Graphics g) {
         super.paintComponent(g);
diff --git a/src/main/java/pong/PongApp.java b/src/main/java/pong/PongApp.java
index 51b1521..5cbd114 100644
--- a/src/main/java/pong/PongApp.java
+++ b/src/main/java/pong/PongApp.java
@@ -15,7 +15,7 @@ public class PongApp {
 
     public static boolean isGoal = false;
 
-    public static ArrayList<PongObject> components = new ArrayList<PongObject>();
+    public static ArrayList<PongObject> components = new ArrayList<>();
     public static int width = 800;
     public static int height = 600;
 
-- 
GitLab