Bonjour,

Je suis en train de m’entraîner à coder, pour cela je code un petit jeu de ping pong à deux joueur sur le même clavier, seulement quand je déplace la raquette elle ne bouge pas, je ne vois ps où est mon problème.

Voici mon code:

//Classe Test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
import javax.swing.JFrame;
 
public class Test {
 
	public static void main(String[] args) {
 
		MyKeyAdapter adapt = new MyKeyAdapter();
		JFrame fen = new JFrame();
		fen.setTitle("salut");
		fen.setSize(400,200);
		fen.addKeyListener(adapt);
		fen.setVisible(true);
		fen.setContentPane(new Table());
		fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
		int i = 100;
		while (i > 0) {
 
			ThreadA  tA = new ThreadA(adapt.doAction());
			tA.start();
 
			ThreadB  tB = new ThreadB(adapt.doAction2());
			tB.start();
 
		try { Thread.sleep(60); }
		catch (InterruptedException ie) { ie.printStackTrace(); } } } }
//Classe MyKeyAdapter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
 
public class MyKeyAdapter extends KeyAdapter {
 
	private boolean isAPressed = false;
	private boolean isBPressed = false;
 
	public void keyPressed(KeyEvent e) {
		if(e.getKeyCode()== 0x41) {
			isAPressed = true; }
		if(e.getKeyCode()== 0x42) {
			isBPressed = true; } }
 
	public void keyReleased(KeyEvent e) {
		if(e.getKeyCode()== 0x41) {
			isAPressed = false; }
		if(e.getKeyCode()== 0x42) {
			isBPressed = false; } }
 
	public boolean doAction() {
		return isAPressed; }
 
	public boolean doAction2() {
		return isBPressed; } }
//Classe ThreadA:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
class ThreadA extends Thread {
 
	private boolean joueur1;
	Table tab = new Table();
 
	public ThreadA(boolean joueur1) {
	this.joueur1 = joueur1; }
 
	public void run() {
		if(joueur1 == true)
			System.out.println(joueur1 + " Salut.");
			tab.setPosYHRG(tab.getPosYHRG()-10);} }
//Classe ThreadB:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
class ThreadB extends Thread {
 
	private boolean joueur1;
 
	public ThreadB(boolean joueur1) {
	this.joueur1 = joueur1; }
 
	public void run() {
		if(joueur1 == true)
			System.out.println(joueur1 + " Coucou."); } }
//Classe Table:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
 
 
public class Table extends JPanel {
 
	private int posXLT = 10;
	private int posYHT = 10;
 
	private int posXLRG = 10;
	private int posYHRG = 10;
 
	private int posXLRD = 10;
	private int posYHRD = 10;
 
	public void paintComponent (Graphics g) {
 
		g.setColor(new Color(240,240,240));
		g.fillRect(posXLT, posYHT, (this.getWidth()-posXLT*2), (this.getHeight()-posYHT*2));
		g.setColor(new Color(0,0,0));
		g.fillRect(posXLRG,posYHRG+10,(this.getHeight()/8/4),(this.getHeight()/8));
		g.fillRect(this.getWidth()-20-(this.getHeight()/8/4),posYHRD+10,(this.getHeight()/8/4),(this.getHeight()/8)); }
 
	public int getPosYHRG() {
		return posYHRG; }
 
	public void setPosYHRG(int i) {
	} }