Bonjour,
Voici mon code :
Le problème c'est que je ne devrai pas avoir de doublons du genre si 7-2 est déjà sorti je ne devrai plus avoir 7-2 ni 2-7.
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 import java.util.Random; import java.util.Scanner; public class Petanque { protected int nbJoueurs; protected int nbParties; protected boolean [][][]parties; protected boolean []choisis; public Petanque(int nbJ, int nbP){ this.nbJoueurs=nbJ; this.nbParties=nbP; this.parties=new boolean[nbP][nbJ][nbJ]; this.choisis=new boolean[nbJ]; } public void creationParties(){ Random r = new Random(); boolean ok=false; for(int i=0; i<nbParties; i++){ System.out.println(); System.out.println("Partie numéro " + (i+1)); //La boucle continue tant que tout les numéro ne sont pas tirés while(tousChoisis()==false){ int joueur1 = r.nextInt(nbJoueurs); int joueur2 = r.nextInt(nbJoueurs); //System.out.println(joueur1 + " !!! " + joueur2); for(int k=0;k<=i;k++){ if(!parties[k][joueur1][joueur2] && !parties[k][joueur2][joueur1] && joueur1 != joueur2 && !choisis[joueur1] && !choisis[joueur2]){ ok=true;} else ok=false; }if(ok==true){ //System.out.println(parties[k][joueur1][joueur2] + " !!! " + parties[k][joueur2][joueur1]); parties[i][joueur1][joueur2]=true; parties[i][joueur2][joueur1]=true; choisis[joueur1]=true; choisis[joueur2]=true; System.out.println((joueur1 +1)+" contre "+ (joueur2+1)); } } // A la fin du tirage on réinitialise reinitialiserChoisis(); } } // retourne faux si l'une des cases est vide public boolean tousChoisis(){ for(int i=0;i<choisis.length;i++){ if(choisis[i]==false)return false; } return true; } public void reinitialiserChoisis(){ for(int i=0;i<choisis.length;i++)choisis[i]=false; } public static void main(String[] args) { System.out.println("Entrez le nombre de joueurs : "); Scanner src = new Scanner(System.in); int nbJoueurs = src.nextInt(); System.out.println("Entrez le nombre de parties : "); int nbParties= src.nextInt(); Petanque p = new Petanque(nbJoueurs, nbParties); p.creationParties(); } }
Merci pour votre aide.
Partager