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 !!
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 #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");
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!!
Partager