Comparaison de deux string, boucle foreach
Bonjour à tous,
Dans le cadre d'un projet, mon binôme et moi-même développons un jeu de type "Mastermind". Nous ne comprenons pas l'explication de notre professeur au sujet de la vérification d'une combinaison de couleur.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| String[] combinaison_a_trouver = new string[] { splitted_joueur_2[0], splitted_joueur_2[1], splitted_joueur_2[2], splitted_joueur_2[3] };
String[] combinaison_jouee = new string[] { splitted_joueur_1_jeu[0], splitted_joueur_1_jeu[1], splitted_joueur_1_jeu[2], splitted_joueur_1_jeu[3] };
int nb_coul = 0, i = 0, j = 0, nb_bien_posee = 0;
foreach (string splitted_joueur in combinaison_jouee)
{
foreach (string splitted_joueur_jeu in combinaison_a_trouver)
{
if (splitted_joueur == splitted_joueur_jeu)
{
nb_coul++;
if (i == j) nb_bien_posee++;
}
j++;
}
j = 0;
i++;
}
Console.WriteLine("nombre de couleur = " + nb_coul + " nombre de position = " + nb_bien_posee); |
Chaque splitted_joueur_1_jeu[x] correspond à une couleur. J'ai cherché de la doc sur les boucles foreach en c#, mais je ne l'ai pas bien comprise.
Admettons la combinaison a trouver : rouge, rouge, vert, bleu
la combinaison essayée : rouge, rouge, vert, jaune
dans ce cas j'obtiens 3 couleurs bien posées, et nb_coul=5
Je ne comprends pas vraiment à quoi correspond ce 5 ? Quelqu'un pourrait-il m'éclairer ?
J'en profite également pour vous demander si vous avez des suggestions à propos de l'algorithme de vérification (à part toute une série de tests un peu barbare à laquelle j'ai déjà pensé ^^)
Merci d'avance de votre aide,
Cécile