Skip to content
Snippets Groups Projects
Commit 54a05305 authored by MEDEDJI Setondji's avatar MEDEDJI Setondji :speech_balloon:
Browse files

Déplacement des deux raquettes

parent ee6f9170
No related branches found
No related tags found
No related merge requests found
......@@ -7,6 +7,7 @@ import engine.physic.Movable;
import engine.physic.PhysicEngine;
import pong.PongApp;
import pong.PongObject;
import pong.PongRacket;
import javax.swing.*;
import java.io.IOException;
......@@ -17,6 +18,7 @@ import java.util.Random;
public class Kernel {
ArrayList<Engine> engines = new ArrayList<Engine>();
PhysicEngine physicEngine;
GraphicEngine graphicEngine;
//public HashMap<PongObject, ImageComponent> pongObjectImageComponentHashMap = new HashMap<>();
......@@ -34,8 +36,9 @@ public class Kernel {
graphicEngine.init(gameName, width, height); // Will start the kernel and set the keys listeners
engines.add(this.graphicEngine);//
engines.add(new PhysicEngine());
this.physicEngine = new PhysicEngine();
engines.add(physicEngine);
pongObjectEntityHashMap = physicEngine.pongObjectEntityHashMap;
this.start();
this.setKeysListeners((JPanel) this.graphicEngine.getContentPane());
......@@ -78,18 +81,15 @@ public class Kernel {
mainPanel.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
switch (evt.getKeyCode()) {
// J'ai essayé mais je me perds pour gerer les debordements
case java.awt.event.KeyEvent.VK_UP -> {
movable.setSpeed(new Coordinates2D(0, -1));
}
physicEngine.pongObjectEntityHashMap.get(gameObjects.get(0)).setSpeed(new Coordinates2D(0, -1)); }
case java.awt.event.KeyEvent.VK_DOWN -> {
movable.setSpeed(new Coordinates2D(0, 1));
}
case java.awt.event.KeyEvent.VK_LEFT -> {
movable.setSpeed(new Coordinates2D(-1, 0));
pongObjectEntityHashMap.get(gameObjects.get(0)).setSpeed(new Coordinates2D(0, 1));
}
case java.awt.event.KeyEvent.VK_RIGHT -> {
movable.setSpeed(new Coordinates2D(1, 0));
case java.awt.event.KeyEvent.VK_Z -> {
pongObjectEntityHashMap.get(gameObjects.get(1)).setSpeed(new Coordinates2D(0, -1)); }
case java.awt.event.KeyEvent.VK_S -> {
pongObjectEntityHashMap.get(gameObjects.get(1)).setSpeed(new Coordinates2D(0, 1));
}
}
}
......
......@@ -17,8 +17,13 @@ public class PhysicEngine implements Engine {
}
//Coordinates2D speed = new Coordinates2D(random.nextInt(2) - 1, random.nextInt(2) - 1);
pongObjectEntityHashMap.put(pongObject, new Movable(1, pongObject.getPosition(), speed, new Coordinates2D(0, 0), pongObject.getWidth(), pongObject.getHeight()));
/*if(pongObject.getName().equals("Left racket")){
pongObjectEntityHashMap.put(pongObject, new Movable(1, pongObject.getPosition(), new Coordinates2D(0,1), new Coordinates2D(0, 0), pongObject.getWidth(), pongObject.getHeight()));
}
if(pongObject.getName().equals("Right racket")){
pongObjectEntityHashMap.put(pongObject, new Movable(1, pongObject.getPosition(), new Coordinates2D(0,1), new Coordinates2D(0, 0), pongObject.getWidth(), pongObject.getHeight()));
}*/
}
}
@Override
......
......@@ -5,6 +5,8 @@ import engine.Kernel;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;
public class PongApp {
......@@ -30,13 +32,15 @@ public class PongApp {
Kernel kernel = new Kernel("Pong", width, height, components);
//kernel.setGameObject(components);
while(true){
try {
Timer timer = new Timer();
int delay = 0; // Délai initial avant la première exécution (en millisecondes)
int interval = 1; // Intervalle entre les exécutions (en millisecondes)
timer.schedule(new TimerTask() {
@Override
public void run() {
kernel.update();
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}, delay, interval);
}
}
......@@ -25,6 +25,7 @@ public class PongBall implements PongObject {
return this.position;
}
@Override
public Image getImage() {
return this.image;
......
......@@ -11,7 +11,7 @@ public class PongRacket implements PongObject {
private final int height;
private Coordinates2D position;
private final Image image;
PongRacket(String name, String imagePath, Coordinates2D position, int width, int height) {
public PongRacket(String name, String imagePath, Coordinates2D position, int width, int height) {
this.name = name;
this.width = width;
this.height = height;
......
......@@ -70,7 +70,7 @@ public class Grid extends JFrame {
public void start() {
while (true) {
try {
//this.repaint();
this.repaint();
kernel.update();
Thread.sleep(3);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment