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
| public StructCoordonnees getCoupPossible(ClPion lePion, int abs, int ord, int sensAbs, int sensOrd)
{
StructCoordonnees coordonnees = new StructCoordonnees();
ClPion unPion = cherchePion(abs, ord);
// si la case est occupée, on n'en veut pas
if (unPion != null)
{
// si la case suivante est vide, on la prend
if ((abs < 8) && (abs > 0) && (ord < 8) && (ord > 0))
{
coordonnees = getCoupPossible(lePion, (abs + sensAbs), (ord + sensOrd), sensAbs, sensOrd);
}
}
else
{
coordonnees.x = unPion.getAbs();
coordonnees.y = unPion.getOrd();
}
return coordonnees;
}
public List<StructCoordonnees> getCoupsPossibles(ClJoueur leJoueur)
{
// on obtient la liste de pions de ce joueur
List<ClPion> lesPionsDuJoueur = leJoueur.getLesPions();
List<StructCoordonnees> GrpCoordonnees = new List<StructCoordonnees>();
StructCoordonnees coordonnees = new StructCoordonnees();
int nbPions = leJoueur.getNbPions();
ClPion unPion;
// on parcours tous les pions présents sur le plateau
for (int i = 0; i < nbPions; i++)
{
unPion = ((ClPion)lesPionsDuJoueur[i]);
int abs = unPion.getAbs();
int ord = unPion.getOrd();
/*// on récupère les coordonnées des différents coups
coordonnees = getCoupPossible(unPion, abs, ord, +1, -1); // vers le bas à droite
if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
coordonnees = getCoupPossible(unPion, abs, ord, +1, +1); // vers le haut à droite
if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
coordonnees = getCoupPossible(unPion, abs, ord, -1, +1); // vers le bas à gauche
if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
coordonnees = getCoupPossible(unPion, abs, ord, -1, -1); // vers le haut à gauche
if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
coordonnees = getCoupPossible(unPion, abs, ord, +1, 0); // vers la droite
if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
coordonnees = getCoupPossible(unPion, abs, ord, -1, 0); // vers la gauche
if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
coordonnees = getCoupPossible(unPion, abs, ord, 0, -1); // vers le haut
if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
coordonnees = getCoupPossible(unPion, abs, ord, 0, +1); // vers le bas
if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }*/
// jeu d'essai
coordonnees.x = 4; coordonnees.y = 3;
GrpCoordonnees.Add(coordonnees);
coordonnees.x = 3; coordonnees.y = 4;
GrpCoordonnees.Add(coordonnees);
coordonnees.x = 6; coordonnees.y = 5;
GrpCoordonnees.Add(coordonnees);
coordonnees.x = 5; coordonnees.y = 6;
GrpCoordonnees.Add(coordonnees);
}
return GrpCoordonnees;
} |
Partager