Mastermind

Contenu du snippet

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 r‚p‚titions ? 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();
}

A voir également

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.