Bonjour a tous !! je suis en train de programmer le mastermind en C, mais au niveau des couleur Bien Placé et Mal Placé qui dans mon code son des focntions, j'ai un peuti souci !!


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
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <myconio.h>
#include "fonction.h"
 
int main()
{
int couleur,i,nbessai=1,BP,j, MP;
 
char combinaison[5];
char copie[5];
char essai[5];
 
 
 
 
 
printf("                         **********************************\n");
printf("                         *                                *\n");
printf("                         *                                *\n");
printf("                         *          MASTERMIND            *\n");
printf("                         *                                *\n");
printf("                         *                                *\n");
printf("                         *                                *\n");
printf("                         **********************************\n");
 
printf("\n\n\n");
printf("                                         ---------------------------\n");
printf("La liste de couleurs est la suivante:   | B - R - N - V - J - O - G | ");
printf("                                                   ---------------------------\n");
printf("\n\n\n");
printf("\n\n\n");
printf("                Joueur 1 saisir la combinaison de 5 couleurs:  ");
printf("\n\n\n");
printf("\n\n\n");
printf("                       ___________________\n");
printf("                      |   |   |   |   |   |  ");
printf("                                                         |___|___|___|___|___|");
printf("\n\n\n");
printf("\n\n\n");
 
 
couleur = 1;
for(i=0;i<5;i++)
   {
    gotoxy(20,25);
    printf("Saisissez la couleurs %d ",couleur);
    gotoxy(19,25);
    printf("\n             couleur : ");
    combinaison[i]=getch();
    putchar(combinaison[i]);
 
    affichage(combinaison, couleur, i);
    couleur++;
   }
   system("cls");
Ici dans cette prmeiére parti je demande au joueur 1 de saisir son code de couleur !! le system("cls") me permet de passer à la page suivant ci dessous



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
48
49
50
51
52
53
54
55
56
57
58
59
60
printf("                         **********************************\n");
printf("                         *                                *\n");
printf("                         *                                *\n");
printf("                         *          MASTERMIND            *\n");
printf("                         *                                *\n");
printf("                         *                                *\n");
printf("                         *                                *\n");
printf("                         **********************************\n");
 
printf("\n\n\n");
printf("                                         ---------------------------\n");
printf("La liste de couleurs est la suivante:   | B - R - N - V - J - O - G | ");
printf("                                                   ---------------------------\n");
printf("\n\n\n");
printf("\n\n\n");
printf("\n\n\n");
printf("\n\n\n");
printf("                       ___________________\n");
printf("                      |   |   |   |   |   |  ");
printf("                                                         |___|___|___|___|___|");
printf("\n\n\n");
printf("\n\n\n");
 
 
i=0;
while(BP!=5)
 
{
    couleur=1;
    for(i=0;i<5;i++)
    {
        gotoxy(13,18);
            printf("Saisissez votre essai %d",nbessai);
        gotoxy(12,18);
            printf("\n             couleur %d : ",couleur);
 
            essai[i]=getch();  /*lecture du caractére*/
            putchar(essai[i]);   /*affichage du tableau*/
 
                affichage1 (essai,couleur,i);
 
        copie[i]=essai[i];  /*le tablo copie recoi les caractére du tablo essai*/
        couleur++;
    }
 
        BP = fonctionBP(combinaison, copie);
        MP = fonctionMP(combinaison, copie);
 
 
 
        gotoxy(20,33);
            printf("\n         BienPlace=%d",BP);
        gotoxy(20,34);
            printf("\n         MalPlace=%d\n",MP);
 
nbessai++;
}
 
 return 0;
}

Sur cette page le joueur 2 doit essayé de trouver la combinaison de couleur , mais au niveau du calcul des focntionBP et FonctionMp il y a un problem , parceque sa maffiche un nombre astronomique






Vous verez ci desous les focntions

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
int fonctionBP( char tab1[5], char tab2[5])
{
    int   i, BienP;
    for(i=0;i<5;i++)
    {
        if((tab1[i]==tab2[i]) || (tab2[i]=='Y') || (tab1[i]=='X'))
            {
                BienP++;
                tab1[i] = 'X';
                tab2[i]='Y';
            }
    }
 
 
 
 
 
return BienP;
}




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
int fonctionMP( char tab1[5], char tab2[5])
{
    int x, i, MalP;
    for(x=0;x<5;x++)
        {
            if (tab2[x]=='Y')
            {
                for(i=0;i<5;i++)
                {
 
                    if(tab1[i]==tab2[x])
                    {
                        MalP=MalP+1;
                        tab1[i]='X';
                        tab2[x]='Y';
                    }
 
 
 
                }
            }
        }
 
 
return MalP;
}

Merci pour votre aide!!