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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
public void affichergagnant(){
int i ;
int max_tabJoueur_points_obtenus= this.tabJoueur[0].totalPoint;
int index_maximum_total_points_1=0;
int index_maximum_total_points_2=0;
int index_maximum_total_points_3=0;
]on est obligé d'initialiser à 1 la valeur de cetre variable pour qu'elle puisse passer à 2 dès qu'il y aura deux joueurs qui obtiendront le même nombre de points
int nbre_joueurs_execaux=1;
boucle for qui parcourt le tableau tabJoueur de la partie en cours pour déterminer le joueur qui a obtenu le plus de points
for(i=1;i<this.tabJoueur.length;i++ ){
if(this.tabJoueur[i].totalPoint> max_tabJoueur_points_obtenus)
{
max_tabJoueur_points_obtenus=this.tabJoueur[i].totalPoint;
on retient l'index de l'élément pour lequel on a obtenu le nombre maximum de points
index_maximum_total_points_1=i;
Si, auparavant il y eu des execaux , le fait qu'il existe un nombre de points supérieur à celui des joueurs execaux annule le fait qu'il y ait des execaux et la variable nbre_joueurs_execaux est réinitialisée à sa valeur première
nbre_joueurs_execaux=1;
}// fin de if this.tabJoueur[i].totalPoint> max_tabJoueur_points_obtenus
si on est dans le cas où le joueur courant a un nombre de points==max_tabJoueur_points_obtenus
else if (this.tabJoueur[i].totalPoint> max_tabJoueur_points_obtenus)
{
nbre_joueurs_execaux++;
on ne veut pas retenir les données de plus de deux joueurs execaux
Dès que le nombre de joueurs execaux est =2 on retient l'index de l'element du tableau pour lequel le nombre de points est == max_tabJoueur_points_obtenus.
Si, arrivés à la fin du tableau il s'avère qu'il y a en tout et pour tout
2 execaux, on pourra alors retrouver l'élément du tableau pour lequel
cette égalité est vérifiée
if (nbre_joueurs_execaux==2)
index_maximum_total_points_2=i;
}// fin de else if (this.tabJoueur[i].totalPoint> max_tabJoueur_points_obtenus)
}//fin de boucle for
si le nombre de joueurs execaux est > 2( nbre_joueurs_execaux>2)et max_tabJoueur_points_obtenus est > au nombre total de points du croupier(this.croupier.totalPoint), alors la partie n'a pas de gagnant
if (nbre_joueurs_execaux>2 && max_tabJoueur_points_obtenus>this.croupier.totalPoint)
{
System.out.println("il ya trop de joueurs execaux, cette partie n' a pas de gagnant");
}// fin de if (nbre_joueurs_execaux>2 && max_tabJoueur_points_obtenus>this.croupier.totalPoint)
si le nombre d'execaux est > 2 et que le contenu de la variable max_tabJoueur_points_obtenus est < nombre total de points du croupier
if (nbre_joueurs_execaux>2 && max_tabJoueur_points_obtenus<this.croupier.totalPoint)
{
System.out.println("le gagnant est le croupier");
}
if (nbre_joueurs_execaux==2 )
S'il y a deux execaux, il y a deux cas possibles
{// debut des instructions liées au if (nbre_joueurs_execaux==2 )
premier cas : il s'agit du premier joueur du tableau et d'un autre joueur du tableau qui possède le même nombre de points
if (max_tabJoueur_points_obtenus== this.tabJoueur[0].totalPoint)
{// début du code pour la condition if
(max_tabJoueur_points_obtenus== this.tabJoueur[0].totalPoint)
// on écrit les index des deux éléments execaux
System.out.println( "l' index du premier execaux est 0 et l'index du deuxième execaux est "+ index_maximum_total_points_2);
//on compare alors la valeur de max_tabJoueur_points_obtenus avec celle de la variable totalPoint du croupier
if (max_tabJoueur_points_obtenus > this.croupier.totalPoint)
{System.out.println("les deux gagnants sont " +this.tabJoueur[0].nom +" " + this.tabJoueur[index_maximum_total_points_2].nom);
}//fin de if (max_tabJoueur_points_obtenus > this.croupier.totalPoint)
else if (max_tabJoueur_points_obtenus < this.croupier.totalPoint)
{System.out.println (" le gagnant est le croupier");
}//fin de if max_tabJoueur_points_obtenus < this.croupier.totalPoint)
else
{System.out.println("les trois joueurs"+ this.tabJoueur[0].nom +" "+
this.tabJoueur[index_maximum_total_points_2].nom+" "+this.croupier.nom+
"sont à égalité");
}// fin de else
}// fin de if (max_tabJoueur_points_obtenus== this.tabJoueur[0].totalPoint)
// deuxième cas: le nombre maximal de points n'est pas celui du premier joueur du tableau tabJoueur
if (max_tabJoueur_points_obtenus!= this.tabJoueur[0].totalPoint)
{// on écrit les index des deux éléments execaux
System.out.println( "l' index du premier execaux est "+this.tabJoueur[index_maximum_total_points_1].nom +" et l'index du deuxième execaux est "+ index_maximum_total_points_2);
//on compare alors la valeur de max_tabJoueur_points_obtenus avec celle de la variable totalPoint du croupier
if (max_tabJoueur_points_obtenus > this.croupier.totalPoint)
{
System.out.println("les deux gagnants sont " +this.tabJoueur[index_maximum_total_points_1].nom +" " + this.tabJoueur[index_maximum_total_points_2].nom);
}//fin de if (max_tabJoueur_points_obtenus > this.croupier.totalPoint)
else if (max_tabJoueur_points_obtenus < this.croupier.totalPoint)
{System.out.println (" le gagnant est le croupier");
}//fin de if max_tabJoueur_points_obtenus < this.croupier.totalPoint)
else
{System.out.println("les trois joueurs"+ this.tabJoueur[index_maximum_total_points_1].nom +" "+this.tabJoueur[index_maximum_total_points_2].nom+" "+this.croupier.nom+ "sont à égalité");
}
}// fin de if (max_tabJoueur_points_obtenus!= this.tabJoueur[0].totalPoint)
}// fin de if (nbre_joueurs_execaux==2 )
}// fin de afficher gagnant |
Partager