diff --git a/src/main/java/engine/Grid.java b/src/main/java/engine/Grid.java index 9164f41aafb777b3b299c4ba9b5e8b8eca4f10f8..2f2b510360ebd0ca7172d3243e6c658824267987 100644 --- a/src/main/java/engine/Grid.java +++ b/src/main/java/engine/Grid.java @@ -9,6 +9,8 @@ import java.io.IOException; import java.util.ArrayList; public class Grid extends JFrame { + + public Kernel kernel; public Grid() throws IOException { diff --git a/src/main/java/engine/Kernel.java b/src/main/java/engine/Kernel.java index 32f51a72a1d21d05b2a6584080ad256bf551c71c..daed469593340f20ca766e5c9b11a2bc5d655f06 100644 --- a/src/main/java/engine/Kernel.java +++ b/src/main/java/engine/Kernel.java @@ -32,7 +32,7 @@ public class Kernel { for (PongObject pongObject: PongApp.components) { //Coordinates2D speed = new Coordinates2D(random.nextInt(2) - 1, random.nextInt(2) - 1); Coordinates2D speed = new Coordinates2D(0, 1); - pongObjectEntityHashMap.put(pongObject, new Movable(1, pongObject.getPosition(), speed, new Coordinates2D(0, 0), 1)); + pongObjectEntityHashMap.put(pongObject, new Movable(1, pongObject.getPosition(), speed, new Coordinates2D(0, 0), pongObject.getWidth(), pongObject.getHeight())); grid.draw(new ImageComponent(pongObject.getImage(), pongObject.getPosition(), pongObject.getWidth(), pongObject.getHeight())); } } diff --git a/src/main/java/engine/Movable.java b/src/main/java/engine/Movable.java index f344b38973192ab0477158d00bb8beeb23d6f35e..d085131959c741b6ede17c3dc4f3a379c8699365 100644 --- a/src/main/java/engine/Movable.java +++ b/src/main/java/engine/Movable.java @@ -1,20 +1,25 @@ package engine; +import pong.PongApp; + public class Movable implements Entity { private int weight; + + private int width; + private int height; private Coordinates2D speed; private Coordinates2D position; private Coordinates2D acceleration; - private int remainingLife; - Movable(int weight, Coordinates2D position, Coordinates2D speed, Coordinates2D acceleration, int remainingLife) { + Movable(int weight, Coordinates2D position, Coordinates2D speed, Coordinates2D acceleration, int width, int height) { this.weight = weight; this.speed = speed; this.position = position; this.acceleration = acceleration; - this.remainingLife = remainingLife; + this.width = width; + this.height = height; } @Override @@ -57,10 +62,10 @@ public class Movable implements Entity { Coordinates2D newPosition = new Coordinates2D(this.position.getX(), this.position.getY()); newPosition.add(this.speed); - if (newPosition.getX() < 0 || newPosition.getX() >= 776) { + if (newPosition.getX() < 0 || newPosition.getX() >= PongApp.width - this.width) { this.speed = new Coordinates2D(-speed.getX(), speed.getY()); } - if (newPosition.getY() < 0 || newPosition.getY() >= 405) { + if (newPosition.getY() < 0 || newPosition.getY() >= PongApp.height - this.height -20) { // -20 Ă cause de la barre verticale de la fenĂȘtre this.speed = new Coordinates2D(speed.getX(), -speed.getY()); } this.position.add(this.speed); // Modifying the position (x = x + vx ; y = y + vy) diff --git a/src/main/java/pong/PongApp.java b/src/main/java/pong/PongApp.java index 7b57252b3b9b8e706ebe3476610bf34b9203aef7..b1a9e40a8f6720cd075e2303fbd4cc13e4982c53 100644 --- a/src/main/java/pong/PongApp.java +++ b/src/main/java/pong/PongApp.java @@ -12,6 +12,8 @@ import java.util.ArrayList; public class PongApp { public static ArrayList<PongObject> components = new ArrayList<PongObject>(); + public static int width = 850; + public static int height = 500; public PongApp() throws IOException { } @@ -29,7 +31,7 @@ public class PongApp { components.add(pongBall); Grid grid = new Grid(); // Will create a new grid and a new kernel - grid.init("Pong", 850, 500); // Will start the kernel and set the keys listeners + grid.init("Pong", width, height); // Will start the kernel and set the keys listeners while(true){ try { grid.kernel.update();