Bonjour, voila étant donné que je doit faire un marquoir de tennis pour un travaille de vacance en programmation, j'ai un/des problèmes d'algorithme pour compter les points dans les sets.
Je vais tenter de vous expliquer, je dit bien tenter car je suis nul en prog et je "connais" les règles du tennis que depuis peux.
Pour gagner un set il faut avoir 6pts et 2pts d'avance sur l'autre joueur, si les deux joueurs ont 6/6, le premier qui a 7/6 gagne le set et on en commence un deuxième puis un troisième.
C'est a cause de tout ceci que je n'arrive pas a finir l'algorithme qui est dans mon programme.
Ces deux algorithmes comptent jusqu'à 6 dans le set 1 puis recommencent a compter jusqu'à 6 dans le set 2 et le même chose dans le set 3. Mais ils ne regardent pas si le joueur2 a 2pts de moins que le joueur1(ou inversement) ce qui ferait commencer un nouveaux set ou encore si les deux joueurs ont 6/6, le prochain point ferait gagner le set au joueur qui la marqué et on commence un nouveaux set.
Je commence a m'embrouiller moi même ><
J'espère que vous avez comprit :/
J'ai moi même essayer d'ajouter des conditions avec des && ou || mais les compteurs commencent a compter jusqu'à l'infinie, ce qui n'arrange pas les choses...
Voici mon code :
Merci d'avance
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 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class set extends JFrame { private JFrame set; JButton player1 = new JButton("player1"); JButton player2 = new JButton("player2"); JLabel set1j1 = new JLabel("---"); JLabel set2j1 = new JLabel("---"); JLabel set3j1 = new JLabel("---"); JLabel set1j2 = new JLabel("---"); JLabel set2j2 = new JLabel("---"); JLabel set3j2 = new JLabel("---"); private int compteur1 = 0; private int compteur2 = 0; private int compteur3 = 0; private int compteur4 = 0; private int compteur5 = 0; private int compteur6 = 0; public set() { JPanel jpTableau = new JPanel(); jpTableau.setLayout(new BorderLayout()); JPanel label = new JPanel(); label.setLayout(new GridLayout(2,3)); label.add(set1j1); label.add(set2j1); label.add(set3j1); label.add(set1j2); label.add(set2j2); label.add(set3j2); jpTableau.add(label,BorderLayout.NORTH); JPanel bouton = new JPanel(); bouton.setLayout(new GridLayout(1,2)); ActionListener sp=new ActionListener(){ public void actionPerformed(ActionEvent e) { if (compteur1 != 6) { compteur1++; set1j1.removeAll(); set1j1.setText(""+compteur1); set1j1.validate(); } else if (compteur2 != 6) { compteur2++; set2j1.removeAll(); set2j1.setText(""+compteur2); set2j1.validate(); } else if (compteur3 != 6) { compteur3++; set3j1.removeAll(); set3j1.setText(""+compteur3); set3j1.validate(); } } }; player1.addActionListener(sp); bouton.add(player1); ActionListener sp2=new ActionListener(){ public void actionPerformed(ActionEvent e) { if (compteur4 != 6) { compteur4++; set1j2.removeAll(); set1j2.setText(""+compteur4); set1j2.validate(); } else if (compteur2 != 6) { compteur5++; set2j2.removeAll(); set2j2.setText(""+compteur5); set2j2.validate(); } else if (compteur6 != 6) { compteur6++; set3j2.removeAll(); set3j2.setText(""+compteur6); set3j2.validate(); } } }; player2.addActionListener(sp2); bouton.add(player2); jpTableau.add(bouton,BorderLayout.SOUTH); set = new JFrame("set"); set.setContentPane(jpTableau); set.pack(); set.setResizable(true); set.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); set.setVisible(true); } }
Partager