Bonjour a tous, alors voila pour "finaliser" mon marquoir de tennis, j'ai essayé d'y ajouter le jeu courant.

Selon wikipédia le jeu courant c'est ça :

Une manche se remporte donc en marquant un certain nombre de jeux. Comme mentionné ci-dessus, chaque joueur sert à tour de rôle, pendant la durée d'un jeu. Afin de remporter un jeu, il est nécessaire de marquer au moins quatre points, soit sur son service lorsque l'on sert, soit sur le service adverse lorsque l'on reçoit. Il est donc possible, soit pour le serveur, soit pour le receveur de remporter un jeu, même si théoriquement, le serveur est avantagé par rapport au receveur. Si les deux adversaires marquent trois points, on a une situation d'égalité, expliquée ci-après.

Lors d'un jeu, voici la manière dont les points sont décomptés :

* zéro (« love » en anglais) : pour aucun point marqué dans le jeu ;
* quinze : pour un point marqué ;
* trente : pour deux points marqués ;
* quarante : pour trois points marqués.

Lorsque les deux joueurs ont marqué trois points, (donc à 40/40), il y a égalité. Celui qui marque le point suivant obtient un « avantage ». Pour marquer le jeu, un joueur qui a l'avantage doit marquer un autre point. Si c'est le joueur qui n'a pas l'avantage qui marque le point suivant, on revient à égalité, et ainsi de suite jusqu'à ce que l'un des deux joueurs remporte le jeu...

Bon déjà moi même je ne vois pas le lien qu'il y a entre le jeu courant et les sets, donc ca ne m'a pas trop aidé pour faire mon programme...

Ce que j'ai essayé de faire c'est de recommencer le jeu courant à chaque nouveaux set, j'ai rencontré aussi un autre problème, c'est le faite qu'aux 2 premier points, il faut rajouter +15 et qu'au dernier point il faut rajouter +10.

Voici mon programme, tout ce qui est en gras, c'est tout ce qui a rapport avec le jeu courant (enfin ce que j'ai essayé de faire pour avoir mon jeux courant).

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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class MarquoirTennis extends JFrame
{
    private JFrame MarquoirTennis;
    JButton Joueur1 = new JButton("player 1");
    JButton Joueur2 = new JButton("player 2");
    JLabel servj1 = new JLabel("");
    JLabel servj2 = new JLabel("");
    
    JLabel resultats[][]=new JLabel[2][3];
    {
    	for (int joueur=0;joueur<2;joueur++) {
    		for (int set=0;set<3;set++) {
    			resultats[joueur][set]=new JLabel("---");
    		}	
    	}	
    }
    
    private int setEnCours=0;
    private int compteurs[][]=new int[2][3]; 
    
    JLabel jeuxCourant[][]=new JLabel[2][1];
    {
    	for (int joueur=0;joueur<2;joueur++) {
    		for (int jeuxc=0;jeuxc<1;jeuxc++) {
    			jeuxCourant[joueur][jeuxc]=new JLabel("0");
    		}	
    	}	
    }
    private int jeuxEnCours=0;
    private int compteursJeuxc[][]=new int[2][1]; 
    
    
    public MarquoirTennis()
    {
            
            JPanel jpTableau = new JPanel();
            jpTableau.setLayout(new BorderLayout());

            JPanel joueur = new JPanel();
            joueur.setLayout(new GridLayout(2,6));
            JLabel joueur1 = new JLabel("joueur1");
            joueur.add(joueur1);
            JLabel rien1 = new JLabel();
            joueur.add(rien1);
            joueur.add(servj1);
            JLabel rien2 = new JLabel();
            joueur.add(rien2);
            for (JLabel jeuxCourants : jeuxCourant[0]) {joueur.add(jeuxCourants);}
            JLabel rien7 = new JLabel();
            joueur.add(rien7);
            for (JLabel resultat : resultats[0]) {joueur.add(resultat);}
            JLabel joueur2 = new JLabel("joueur2");
            joueur.add(joueur2);
            JLabel rien3 = new JLabel();
            joueur.add(rien3);
            joueur.add(servj2);
            JLabel rien4 = new JLabel();
            joueur.add(rien4);
            for (JLabel jeuxCourants : jeuxCourant[1]){joueur.add(jeuxCourants);}
            JLabel rien8 = new JLabel();
            joueur.add(rien8);
            for (JLabel resultat : resultats[1]) {joueur.add(resultat);}
    
            jpTableau.add(joueur,BorderLayout.WEST);
            
            JPanel SJS  = new JPanel();// service, jeux, set
            SJS.setLayout(new GridLayout(1,6));
            JLabel rien = new JLabel();
            SJS.add(rien);
            JLabel service = new JLabel("    service");
            SJS.add(service);
            JLabel jeux = new JLabel("           jeux");
            SJS.add(jeux);
            JLabel set1 = new JLabel("             set1");
            SJS.add(set1);
            JLabel set2 = new JLabel("        set2");
            SJS.add(set2);
            JLabel set3 = new JLabel("    set3");
            SJS.add(set3);
            
            jpTableau.add(SJS,BorderLayout.NORTH);
            
            JPanel bouttonjoueur  = new JPanel();
            bouttonjoueur.setLayout(new GridLayout(2,2));
            JLabel rien5 = new JLabel("");
            bouttonjoueur.add(rien5);
            JLabel rien6 = new JLabel("");
            bouttonjoueur.add(rien6);
            
            
            ActionListener sp=new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                servj1.removeAll();
                servj1.setIcon(new ImageIcon("rien.jpg"));
                servj1.validate();
                servj2.removeAll();
                servj2.setIcon(new ImageIcon("service.jpg"));
                servj2.validate();

              
              if (!finDuMatch()) { // Actif jusqu'à la fin du match...
            		 compteurs[0][setEnCours]++;
                     resultats[0][setEnCours].setText(""+compteurs[0][setEnCours]);
                     resultats[0][setEnCours].validate();
                     if (leJoueurGagneLeSet(0,1)) setEnCours++;
            	}  
            	
                    if (!finDuSet()) { // Actif jusqu'à la fin du set...
            		 compteursJeuxc[0][jeuxEnCours]++;
                     jeuxCourant[0][jeuxEnCours].setText(""+compteursJeuxc[0][jeuxEnCours]);
                     jeuxCourant[0][jeuxEnCours].validate();
                     if (leJoueurGagneLeSet(0,1)) setEnCours++;
            	}  
                
                
            }
            };
            Joueur1.addActionListener(sp);
            bouttonjoueur.add(Joueur1);
            
            ActionListener sp2=new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                servj1.removeAll();
                servj1.setIcon(new ImageIcon("service.jpg"));
                servj1.validate();
                servj2.removeAll();
                servj2.setIcon(new ImageIcon("rien.jpg"));
                servj2.validate();
                
              
              if (!finDuMatch()) { // Actif jusqu'à la fin du match...
            		compteurs[1][setEnCours]++;
                    resultats[1][setEnCours].setText(""+compteurs[1][setEnCours]);
                    resultats[1][setEnCours].validate();
                    if (leJoueurGagneLeSet(1,0)) setEnCours++;
            	}
            	
            	if (!finDuSet()) { // Actif jusqu'à la fin du set...
            		 compteursJeuxc[1][jeuxEnCours]++;
                     jeuxCourant[1][jeuxEnCours].setText(""+compteursJeuxc[1][jeuxEnCours]);
                     jeuxCourant[1][jeuxEnCours].validate();
                     if (leJoueurGagneLeSet(1,0)) setEnCours++;
            	}  
  
            }
            };
            Joueur2.addActionListener(sp2);
            bouttonjoueur.add(Joueur2);

            jpTableau.add(bouttonjoueur,BorderLayout.SOUTH);
                
            MarquoirTennis = new JFrame("MarquoirTennis");
            MarquoirTennis.setContentPane(jpTableau);
            MarquoirTennis.pack();
            MarquoirTennis.setResizable(false);        
            MarquoirTennis.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            MarquoirTennis.setVisible(true);
            MarquoirTennis.setSize(400, 200);
        }
        
        boolean leJoueurGagneLeSet(int joueur, int adversaire) {
     		if (compteurs[joueur][setEnCours] < 6) return false;
     		
     		int ecart=(compteurs[joueur][setEnCours]-compteurs[adversaire][setEnCours]);
     		
     		
     		if (compteurs[joueur][setEnCours]==6) 
     			return (ecart>=2); 
     		else 
     			return (ecart>=1);  
     	}
     	
     	
     	boolean finDuMatch() {
     		return (setEnCours == 3); 
     	}
     	boolean finDuSet() {
     		return (setEnCours == 3); 
     	}
        
}
Merci d'avance à ceux qui vont m'aider.

PS : je suis une brèle en Java si vous pouvez me donner quelques explications avec le code, ça serait cool et je vous en serez grandement reconnaissant .