Bonsoir à tous,
Dans le cadre d'un de mes cours, je dois réaliser un jeu du type "mastermind" : combinaison de 5 pions (je sais dans le vrai jeu c'est 4...
)avec 8 couleurs différentes.
J'essaie de créer une fonction qui me permet de savoir si les couleurs entrées sont correctes (j'y suis arrivé) mais je n'arrive pas à savoir si elles sont à la bonne place!
J'utilise la fonction strchr et la fonction strrchr qui me donnent deux pointeurs de type char* et ainsi j'ai l'addresse du caractère mentionné en argument.
Je sais que cette méthode ne fonctionne pas dans le cas très rare où j'ai plus de deux fois la même couleur...
Cependant le programme fonctionne bien pour savoir si la combinaison entrée contient les bons pions... Par contre pour leur place c'est autre chose : j'ai inséré les lignes de codes suivantes :
if(pointeurPremierePosition==&entree[i])//si les deux adresses sont identiques cf pg 158 cours
{
printf(" et il est a la bonne position");
}
afin de savoir s'ils pointent vers la même position et ainsi savoir si le pion est à la bonne place et de bonne couleur.
entree est le tableau de combinaison que l'utilisateur a entré et le pointeurPremierePosition est l'affectation suivante :
pointeurPremierePosition=strchr(solution, entree[i]);[solution est un tableau de char généré "aléatoirement" par le compilateur en début de programme]
Cependant lors de mes tests, je n'entre JAMAIS dans la boucle...
Malgré cela, je ne vois pas en quoi comparer mes deux adresses ne fonctionne pas
Si vous aviez une idée ce serait sympa de la faire partager, je vous remercie d'avance 