Doublons tableau à 3 dimensions
Bonjour,
Voici mon code :
Code:
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();
}
} |
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.
Merci pour votre aide.