Bonjours dans mon programme je veu que quand la boule rouge est a la meme position que la boule orange sa marque dans la console que les 2 rond se sont touché sauf que je ne sais pas pourquoi sa le marque pas meme si je fais partir la rouge sur la orange initialement sa ne marche pas.

Mon deuxieme probleme est que si dans la condition je met exemple juste if(pan1.getposXp() == pan1.getposX()) sa marche juste si je fais partir le rond rouge initialement sur la meme positon x que lorange mais si je fais partir initialement la rouge ailleur sur laxe et que je la deplace avec le clavier sa ne marquera pas que els rond se sont touché pourquoi?

J'ai oublié de vous dire que la methode qui fais sa se trouve dans la classe window game()


classe window:

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import java.awt.BorderLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
 
 
public class window extends JFrame implements KeyListener
{
    private panneau1 pan1 = new panneau1();
    private JPanel container = new JPanel();
 
    public window()
    {
        this.setTitle("titre");
        this.setSize(500,500);
        this.setResizable(false);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setContentPane(container);
        this.setVisible(true);
        this.setLayout(new BorderLayout());
        this.addKeyListener(this);
 
        container.add(pan1,BorderLayout.NORTH);
 
        game();
 
    }
 
    public void keyPressed(KeyEvent e)
    {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT)
        {
            int x = pan1.getposX();
            x++;
            pan1.setposX(x);
            pan1.repaint();
            System.out.println(pan1.getposX());
        }
 
        else if(e.getKeyCode()==KeyEvent.VK_LEFT)
        {
            int x = pan1.getposX();
            x--;
            pan1.setposX(x);
            pan1.repaint();
        }
 
        else if(e.getKeyCode()==KeyEvent.VK_UP)
        {
            int y = pan1.getposY();
            y--;
            pan1.setposY(y);
            pan1.repaint();
        }
 
        else if(e.getKeyCode()==KeyEvent.VK_DOWN)
        {
            int y = pan1.getposY();
            y++;
            pan1.setposY(y);
            pan1.repaint();
        }
    }
 
    public void keyReleased(KeyEvent e)
    {
 
    }
 
    public void keyTyped(KeyEvent e)
    {
 
 
    }
 
    public void game()
    {
        if(pan1.getposXp() == pan1.getposX() && pan1.getposYp() == pan1.getposY())
        {
            System.out.println("Les deux rond se sont touché");
        }
 
    }
 
 
}
classe panneau1:

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.JPanel;
 
 
public class panneau1 extends JPanel
{
    private int posX = 200;
    private int posY = 20;
    private int posXp = 200;
    private int posYp = 20;
 
 
    public panneau1()
    {
        this.setPreferredSize(new Dimension(500,500));
    }
 
    public void paintComponent(Graphics g)
    {
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, this.getWidth(), this.getHeight());
        g.setColor(Color.RED);
        g.fillOval(posX, posY, 50, 50);
        g.setColor(Color.ORANGE);
        g.fillOval(posXp, posYp, 50, 50);
 
 
    }
 
    public int getposX()
    {
        return posX;
    }
 
    public void setposX(int posX)
    {
        this.posX = posX;
    }
 
    public int getposY()
    {
        return posX;
    }
 
    public void setposY(int posY)
    {
        this.posY = posY;
    }
 
    public int getposXp()
    {
        return posXp;
    }
 
    public int getposYp()
    {
        return posYp;
    }
 
}