Le jeux du MasterMind
Source / Exemple :
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{int rept,comb,chf,master[10],jouer[10],i,j,k,mal,bien,c;
char joueur[10];
clrscr();
gotoxy(3,3);
printf("--> Avec rptitions ? o(1)/n(0) : ");
gotoxy(3,5);
printf("--> Donner le nombre de chiffres dans la combinaison :");
gotoxy(3,7);
printf("--> Donner le nombre de combinaisons possibles :");
gotoxy(38,3);scanf("%d",&rept);
gotoxy(58,5);scanf("%d",&chf);
gotoxy(52,7);scanf("%d",&comb);
randomize();
if(rept==1)
{
for(i=1;i<=chf;i++)
master[i]=random(10);
}
else
{
for(i=1;i<=chf;i++)
{
retour:
master[i]=random(10);
for(j=i-1;j>=1;j--)
if(master[j]==master[i]) goto retour;
}
}
for(i=1;i<=chf;i++)
jouer[i]=master[i];
clrscr();
for(i=1;i<=chf;i++)
printf("%d",master[i]);
for(c=1;c<=comb;c++)
{
mal=0;
bien=0;
printf("\n--> Donner votre combinaison N=%d :",c);
scanf("%s",joueur);
if(rept==0)
{
for(j=1;j<=chf;j++)
for(k=0;k<chf;k++)
if((master[j]==joueur[k]-'0')&&(j==k+1)) bien++;
else if(master[j]==joueur[k]-'0') mal++;
}
else
{
for(j=1;j<=chf;j++)
if(master[j]==joueur[j-1]-'0') {bien++;master[j]=-1;joueur[j-1]=0;}
for(j=1;j<=chf;j++)
for(k=0;k<chf;k++)
if((master[j]==joueur[k]-'0')&&(j!=k+1)) {mal++;master[j]=-1;joueur[k]=0;}
}
printf("bien plac : %d\n",bien);
printf("mal plac : %d\n",mal);
if(bien==chf) goto fin;
for(i=1;i<=chf;i++)
master[i]=jouer[i];
for(i=1;i<=chf;i++)
master[i]=jouer[i];
}
fin:
if(bien==chf) printf("Vous avez gagn !!");
else
printf("Vous avez perdu !!");
printf("\nLa combinaison tait:");
for(i=1;i<=chf;i++)
printf("%d",jouer[i]);
getch();
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.