Bonjour à tous,

Etant récemment tombé dans le C# en tant qu'alternant dans une entreprise, j'ai eu comme dernier exercice : faire un mastermind.

C'est un mastermind avec des chiffres et non des couleurs mais le principe est le même

Je suis bloqué avec ma logique et je n'arrive pas à en sortir, c'est pourquoi je viens chercher un petit coup de pouce

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
class Program
    {
        static void Main(string[] args)
        {
            Mastermind();
            Console.ReadKey();
        }
 
        private static void Mastermind()
        {
            int compteurBon = 0;
            int compteurMalPlace = 0;
            int compteurFaux = 0;
            int[] codeATrouver = new int[4] {};
            int[] codeEntre = new int[4] {};
            int x = '.';
 
            for (int i = 0; i < codeATrouver.Length; i++)
            {
                if (codeEntre[i] == codeATrouver[i])
                {
                    compteurBon += 1;
                    codeEntre[i] = x;
                    codeATrouver[i] = x;
                }
            }
            for (int i = 0; i < codeATrouver.Length; i++)
            {
                if (codeEntre[i] == codeATrouver[i])
                {
                    compteurBon += 1;
                    codeEntre[i] = x;
                }
                for (int j = 0; j < codeATrouver.Length; j++)
                {
                    if (codeATrouver[i] == codeEntre[j])
                    {
                        compteurMalPlace += 1;
                        Console.WriteLine(compteurMalPlace);
                    }
                }
            }
            compteurFaux = codeATrouver.Length - compteurBon - compteurMalPlace;
            Console.WriteLine("Compteur Bon : " + compteurBon + "\nCompteur bon mais mal placé : " + compteurMalPlace + "\nCompteur faux : " + compteurFaux);
        }
    }
Je précise que tous les éléments qui me sont autorisés sont les suivants : boucles, tableaux, méthodes.

Je bloque car le programme doit gérer les exceptions (ex : la combinaison choisie est 0 0 5 0 et celle entrée est 5 5 5 5, cela doit affiche 1 bon et 3 faux ou bien combinaison choisie 0 5 5 0 et celle entrée 5 7 5 5, cela doit afficher un bon, un bon mal placé et 2 faux)

J'aimerai vraiment réussir à comprendre ce problème.

Je vous remercie d'avance pour vos réponses