Demande d'aide sur un code JAVA
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:
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:
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:
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:
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();
}} |