Java : mettre un objet dans un tableau

Fermé
Gorn - 7 oct. 2009 à 13:42
 Gorn - 7 oct. 2009 à 13:46
Bonjour,
Je dois faire un jeu de plateau où le but est de relier un point d'un coin à l'autre du plateau.
J'ai une classe joueur et une classe coup.
pour définir le meilleur algo possible, je souhaite enregistrer les coups pour avoir le meilleur tracé possible, ainsi chaque tour si je vois que la trajectoire est bloqué par l'adversaire, je recalcule un itinéraire en replaçant les nouveau coups dans le tableau contenant les coups.

hors pour ce tableau, dans la classe joueur, je le déclare en static comme ceci :

class Joueur{

private int n;
private int i=0;
private int i1=1;
private int j1=1;
private int i2=1;
private int j2=1;
// private static Coup[] tabcoupadverse = new Coup[20];
private String c;
boolean variante;

public Joueur(){
n=5;
c="ROUGE";
variante=false;
}

public Joueur(int taille, String couleur){
n=taille;
c=couleur;
variante=false;
}

public Joueur(int taille, String couleur, boolean var){
n=taille;
c=couleur;
variante=var;
}

public int getN(){
return n;
}

public String getC(){
return c;
}

public void setN(int taille){
n=taille;
}

public void setC(String couleur){
c=couleur;
}

public void afficher(){
System.out.println("("+n+";"+c+")");
}

public String toString(){
return "("+n+";"+c+")";
}

public Coup play(Coup a){
// tabcoupadverse[i] = a;
// System.out.println(tabcoupadverse[i]);
i++;
if ((i1 == 1) && (j1 == 1) && (i2 == 1) && (j2 == 1)){
System.out.println("1er coup");
Coup coup = new Coup(i1,j1,i2,j2+1);
j1++;
j2++;
return coup;
}
if ((a.i1 >= i1) && (a.j1 >= j1+1) && (a.i2 >= i2+1) && (a.j2 >= j2)){
Coup coup = new Coup(i1,j1,i2+1,j2);
i1++;
i2++;
System.out.println("esquive bas");
return coup;
}
if ((a.i1 == i1) && (a.i2 == i1+1)){
Coup coup = new Coup(i1,j1,i2+1,j2);
i1++;
i2++;
System.out.println("esquive cote");
return coup;
}
else{
Coup coup = new Coup(i1,j1,i2,j2+1);
j1++;
j2++;
System.out.println("tout droit");
System.out.println("("+a.i1+","+a.j1+";"+a.i2+","+a.j2+")");
return coup;
}
}


}


le coup de l'adversaire est donc coup a, et ce qui est intéressant et me pose problème est ce qui est en commentaire //

l'enregistrement marche, mais ceci : System.out.println(tabcoupadverse[i]); m'affiche le pointeur, quelque chose du style coup@34f7e246

comment faire pour avoir les coordonnées du coup? enfin afin de pouvoir retravailler dessus et pouvoir les comparer avec les coups des joueurs?

merci d'avance :)
A voir également:

1 réponse

Apparement ce n'est pas le pointeur la formule en coup@367d3729 car si je clic sur un endroit ça m'affiche ceci par exemple coup@367d3729, si je quitte et relance une parti, et clic au même endroit, ce sera tjrs coup@367d3729 qui s'affichera.
jss un peu perdu =/
0