Bonjour


Je travail sur un projet que je dois rendre.
J'ai taper un code voir ci dessous en utilisannt une liste chainée. Cependant lorsque je souhaite afficher le contenu du tableau (ref.tab[0], ref.tab[1]) de ma liste chainée, j'ai l'impression que chaque élément pointe sur le meme objet.
Je ne suis pas arrivé a trouver ou cela cloché.
Si une personne pouvait regarder et me dire ou est le problème

Je vous remercie d'avance

Salutations


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
public class Joueurs{ // definition des joueurs 
String nomjoueur;// nom du joueur
 int [] jet; //jeton  du  joueur 
int  carte1,carte2;
int[]tab = new int[2];
Joueurs suivant;//pointeur
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
 
class listejoueur{// liste chaine des joueurs
	Joueurs premier, dernier ,ref1 ,ref,pointeur; // deifinition des pointeurs
	// ajouter les joueurs en fin  de liste
public void ajouterfin(String nom, int[] jet){
Joueurs ref=premier;// je pointe en debut de liste
 
if (premier==null){	premier=new Joueurs (nom, jet, pointeur,table);  ref=premier; dernier=premier;}//si liste chainée  vide
else {dernier.suivant=new Joueurs(nom, jet, pointeur,table); dernier=dernier.suivant;}/* si liste chainé contient des éléments ajouter en fin de liste*/
}		 
 
//distribution des cartes au joueurs
public listejoueur distribution(listejoueur liste){
 
ref=liste.premier;
 
while (ref!=null){
ref.tab[0]= (int)(Math.random()*52);
 
ref.tab[1]= (int)(Math.random()*52);
 
ref=ref.suivant;
}ref=liste.premier;
while(ref!=null){
	Terminal.ecrireIntln(ref.tab[0]);
	ref=ref.suivant;
 
}}
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
class initialisation {
    static	int nbJoueur;//nb de joueur participant au jeu
	static String nomJoueur; // nom des joueur
	static int gain=0;//gain des joueur
	int[] jet={100,120};//Jetons des joueurs 
	int[] lj={};
	JeuxCarte car=new JeuxCarte();// Paquet de carte 
   	static InterfacePoker ti;
   	misedesjoueurs mise;
   	listejoueur liste;
 
 
 
//Initialisation de la fenetre 	
public	static void init(){
	Terminal.ecrireStringln("BIENVENUE AU JEU DE POKER");
	Terminal.sautDeLigne();
	Terminal.ecrireString("Veuillez entrer le nombre de joueur  ");
	nbJoueur=Terminal.lireInt();
	Terminal.sautDeLigne();
 
	//declaration et Initialisation  des joueurs,  du Joueur Humain et du Jeux de carte
	public  void declarationjoueur (){
      liste=new listejoueur();
       for (int i=1; i<=nbJoueur;i++ ) {     
     Terminal.ecrireString("Le nom du joueur "+i+"  ");
      nomJoueur=Terminal.lireString();
      liste.ajouterfin(nomJoueur, jet);
      ti.declareJoueur(nomJoueur, jet);  }
      ti.fixeJeuHumain(lj);
      ti.fixeJetonsHumain(jet);
      car.Initialisation();
     } //initialisation du jeux de carte 
 
//distributions des cartes
public void distribution(){
liste.distribution(liste);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
public class Projet {
 
   public static void main(String[] args) {
 
 initialisation ru=new initialisation();
 
 ru.init();
 ru.declarationjoueur();
 ru.afficheFen();
 ru.distribution();
}}