Demande d'algo Mastermind

chabine -  
blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   -
J'ai un devoir qui consite a créer le programme de mAstermind mais je suis perdu et je n'arrive pa a commence l'algo
Aidez moi SVP!!!!!!!!!!

2 réponses

djelouze
 
Heu oui d'accord, mais ton prgramme doit faire quoi?
C'est l'ordi qui choisit les couleurs, et apres tu as une interface pour qu'un 'hulain' trouve la bonne combinaison?
ou tu choisis les couleurs et c'est l'ordi qui retrouve ta combinaison pas à pas?
ou pour jouer à 2?
un pti peu plus de precision, stp!!!
2
smalltalk Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
pitier au secours

c'est un mastermind a 5 couleur identifier par 0 1 2 3 4 en dix coups en mode console

d'avance merci
0
pom > smalltalk Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Salut, tu prgm en quoi ? je te propose les étapes suivantes

1) tirage aléatoire pour positionner les couleurs. Tu peux faire une loi uniforme sur [0, 1] et tu dis si 0<=n<0.2 alors 0, si 0.2<=n<0.4 alors 1 etc (n est ton tirage aléatoire)

2) tu mets en mémoire ces 5 nb dans un vecteur par exemple

3) l'être humain rentre 5 nb dans un vecteur. Tu fais des vérifications pour savoir s'il y a bien 5 nb et si ils sont compris entre 0 et 4

4) tu compares ces deux vecteurs et tu renvoies un vecteurs à deux dimensions pour dire le nb de couleurs bien placées et le nb de couleurs mal placées.

Tout ceci dans un while(counter<=10)

j'espère que ces gds idées peuvent t'aider.

Pom
0
blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   160
 
Salut,
Normalement je devrais pas faire ça,
mais n'importe quel néophyte peut télécharger
des exemples de ce genre :

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main( )
{
int nbcoups=0;
int nbchiffre=0;
int nbp=0,nmp=0,gagne=0,i,j,k;
char combinaison[10], combijeu[10];
char jeu[10];
time_t t;
srand((unsigned) time(&t));

printf("en combien de coups jouez vous ?");
scanf("%d",&nbcoups);
if (nbcoups <1)nbcoups =1;
if (nbcoups>12)nbcoups =12;
printf("avec combien de chiffres ?");
scanf("%d",&nbchiffre);
if (nbchiffre <1)nbchiffre =1;
if (nbchiffre>9)nbchiffre =9;
for(i=0; i<nbchiffre; i++)
{
combinaison[i]=(char)(rand()%10+'0');
}
printf("%s",combinaison);

for(i=0; i<nbcoups && gagne==0 ; i++)
  {
  printf("essai N° %d :",i);
  scanf("%s",jeu);
  if(!strncmp(jeu,combinaison,nbchiffre)) gagne=1;
  else
   {
   strcpy(combijeu, combinaison);
   nbp=0; nmp=0;
   for(j=0;j<nbchiffre; j++)
    {
    if(jeu[j]==combijeu[j]){nbp++;jeu[j]='B';combijeu[j]='b';}
    }

   for(j=0;j<nbchiffre; j++)
     {
     for(k=0;k<nbchiffre;k++)
       if(j!=k && jeu[j]==combijeu[k])
         {jeu[j]='M';combijeu[k]='m'; nmp++;}
      }
    printf("Bien places :%d Mal places :%d", nbp,nmp);
    }
  }

  if(gagne)
  {
  printf ("trouve en %d coups",i);
  }
  scanf("%d",i);

return 0;
}


Celui là, plus simple tu meurs, en plus ça marche avec gcc, builder, visual et devcpp

cordialement

¤
2