Demande d'algo Mastermind

Fermé
chabine - 14 janv. 2004 à 23:16
blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 - 16 juil. 2004 à 19:11
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

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 jeudi 15 juillet 2004 Statut Membre Dernière intervention 16 juillet 2004
16 juil. 2004 à 09:35
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 jeudi 15 juillet 2004 Statut Membre Dernière intervention 16 juillet 2004
16 juil. 2004 à 09:57
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 vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 160
16 juil. 2004 à 19:11
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