Tout d'abord bonjour a tous !

Sujet : Je suis actuellement en train de réaliser un MasterMind en C (en console pour le moment et j'utilise code block). Je dois réaliser ce jeu en 3 modes :
- mode un joueur (calcul aléatoire d'une combinaison et le joueur doit la trouvé)
- mode 2 joueurs (2 combinaisons différentes sont calculées et chaque joueurs doit trouver sa combinaison. Le premier qui trouve gagne.

C'est 2 mode je les ai quasiment fini...

Maintenant le 3 éme mode se complique :
- mode joueur VS ordi (le joueur fait une combinaison pour l'ordi et l'ordi doit la trouver et inversement. Le premier qui trouve la combinaison de l'autre gagne)

problème posé : je n'ai aucune idée pour la fonction qui va permettre à l'ordi de trouvé la combinaison du joueur de facon "intéligente"

Sachant que mon MasterMind est composé de 8 couleurs (enfin les nombres de 1 à 8) et de 4 pions.

Ah si j'ai oublié de vous dire que j'ai 2 fonctions utile :
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
 
//Fonction permettant de compter le nombre de pions biens placés
//Lorsque qu'un pions est bien placé, la valeur du tableau vaut 0 à l'endroit ou il se trouvé
int pionsBienPlace(Jeu* j)
{
    int i;
    int nbPionsBienPlace=0;
    for (i=0; i < j->nbPions; i++)
    {
        if (j->copieTableauCombi[i] == j->copieTableauCombiJoueur[i])
        {
            nbPionsBienPlace++;
            j->copieTableauCombiJoueur[i]=0;
            j->copieTableauCombi[i]=0;
        }
    }
    return nbPionsBienPlace;
}
 
//Fonction permettant de compter le nombre de pions mals placés
//Lorsque qu'un pions est mal placé, la valeur du tableau vaut 0 à l'endroit ou il se trouvé
int pionsMalPlace(Jeu* j)
{
    int i,k;
    int nbPionsMalPlace=0;
 
    for (i=0; i < j->nbPions; i++)
    {
        if (j->copieTableauCombi[i]!=0)
        {
            for (k=0; k < j->nbPions; k++)
            {
                if (j->copieTableauCombi[i] == j->copieTableauCombiJoueur[k] )
                    {
                        j->copieTableauCombi[i]=0;
                        j->copieTableauCombiJoueur[k]=0;
                        nbPionsMalPlace++;
                    }
            }
        }
    }
    return nbPionsMalPlace;
}

Voila si quelqu'un a une idée :-°