begin process at 2012 02 12 03:01:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

MasterMind en C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

MasterMind en C

vendredi 31 mars 2006 à 17:57:44 | MasterMind en C

igor012

Salut a tous,
j'ai un problème en C. j'essaie de faire un jeu de masterMind mais il y a un problème au niveau de la decouverte des pions blancs je ne sais pas comment faire pour que ca fonctionne.
exemple : je choisi la combinaison J O B M
(M = mauve B = bleu J = jaune   O = orange)
et ensuite je saisis disons  O B J M
 il me donne le resultat : noirs : 0 blancs 0
alors que ca devrait etre : noirs : 0 blancs : 4
noir ->bien placé
blanc ->mal placé

Merci de votre aide
Fab

voila mon code j'espere que ce sera lisible



#include <stdio.h> // librairie d'entrée et de sortie
#include <iostream.h> 
#include <stdlib.h>
#include <conio.h>

main()
{
      char tabcoul[4],tabresult[4]; // déclaration des tableaux des joueurs 1 et 2
      int i,j,k,n,z; // déclaration des variables (compteurs)
      int verif[4]; // déclaration du tableau de vérification
      int blanc;
      int noir;



puts("\n");
puts("\n");
puts("\n");

puts("JOUEUR 1\nA vous de commencer\n");
puts("Choisissez une combinaison de 4 couleurs en utilisant les couleurs suivantes: \n V=vert \n O=orange \n B=bleu \n R=rouge \n J=jaune \n M=mauve\n");

                for (i=1;i<5;i++)//remplir le tableau des couleur à trouver
                  {
                   fflush(stdin); // rafraichir la mémoire tampon
                   printf("Saisir couleur %d:\n",i);
                   scanf("%c",&tabcoul[i]);
                  while (tabcoul[i]!='V' && tabcoul[i]!='O' && tabcoul[i]!='B' && tabcoul[i]!='R' && tabcoul[i]!='J' && tabcoul[i]!='M')
                     {
                       puts("Caractere incorrect. Veuillez resaisir :");
                       fflush(stdin); // rafraichir la mémoire tampon
                       printf("Saisir couleur %d:\n",i);
                       scanf("%c",&tabcoul[i]);
                     }
                  }
                   printf("\n");
                  
                   printf("Vous avez choisi :\n");
                   printf("\n");
                   for (i=1;i<5;i++)
                       {
                         printf(" - %c - ",tabcoul[i]);//affiche les couleurs choisies
                       }
      printf("\n");
      printf("\n");
      system("\nPAUSE\n");

system("CLS");
puts("JOUEUR 2 \nA vous de trouver la combinaison \n");

                      for (j=1;j<11;j++)
                          {
                       
                           printf("\nEssai No. %d :\n", j);

                                    for (k=1;k<5;k++)
                                    {
                                      fflush(stdin); // rafraichir la mémoire tampon
                                      printf("Saisir couleur %d:\n",k);
                                      scanf("%c",&tabresult[k]);
                                          while (tabresult[k]!='V' && tabresult[k]!='O' && tabresult[k]!='B' && tabresult[k]!='R' && tabresult[k]!='J' && tabresult[k]!='M')//empeche de saisir n'importe quel caractere
                                            {
                                               puts("Caractere incorrect. Veuillez resaisir :");
                                               fflush(stdin); // rafraichir la mémoire tampon
                                               printf("Saisir couleur %d:\n",k);
                                               scanf("%c",&tabresult[k]);
                                            } // fin while

                                    }    //fin for k
                      noir=0;
                      blanc=0;
                      for(n=1;n<5;n++)
                      {
                          if(tabcoul[n]==tabresult[n])//compare deux tableau si vrai noir=noir+1
                            {
                             noir++;
                            }
                          else
                               {
                              if(tabcoul[n]==tabresult[0] && tabcoul[n]==tabresult[1] && tabcoul[n]==tabresult[2] && tabcoul[n]==tabresult[3])//compare pour les blancs si vrai: blanc++
                                         {
                                          blanc++;
                                         } //fin si

                               } //else - fin sinon


                        }// fin for n
                               printf("Noirs : %d\n",noir);
                               printf("Blancs : %d\n",blanc);
                                  
                         

                          }//fin for j

    

      
      system("PAUSE");
      return 0;
}



vendredi 31 mars 2006 à 18:16:33 | Re : MasterMind en C

stenka

Je ne connais pas vraiment les règles de ce jeu mais si j'ai compris, tu devrais remplacer le contrôle

if(tabcoul[n]==tabresult[0] && tabcoul[n]==tabresult[1] && tabcoul[n]==tabresult[2] && tabcoul[n]==tabresult[3])

 par

if(tabcoul[n]==tabresult[0] || tabcoul[n]==tabresult[1] || tabcoul[n]==tabresult[2] || tabcoul[n]==tabresult[3]).

Dans ton programme, pour qu'un "blanc" soit ajouté, il faudrait que les 4 positions correspondent au pion scanné!

stenka

vendredi 31 mars 2006 à 18:25:27 | Re : MasterMind en C

igor012

Merci pour ta réponse rapide ca marche deja beaucoup mieux mais selon l'odre des combinaison ca ne donne pas toujours le meme resultat
ex :
 je choisis  J O M B
et je saisis  O M B J

je devrais voir apparaitre
noirs : 0 
blancs:  4

mais  ca donne  
Noirs : 0
Blancs : 3



Cette discussion est classée dans : printf, for, puts, tabcoul, tabresult


Répondre à ce message

Sujets en rapport avec ce message

Besoin d'aide en C - Fonction [ par bugs2600 ] Voici mon programme quelqu'un pourrait-il m'aider je dois faire une fonction et je ne vois pas comment la faire le non de ma fonction doit etre PRODMA Problem Affichage de mon Tableau [ par Orezza ] salut à tous, j'ai un blem à l'affichage du tableau. l'utilisateur parametre son tableau, c lui qui l'initilize mais j'arrive pas à afficher apres le help une fonction qui a besoin de vous [ par natacha86 ] Re bonjour a tout le monde, voila j'ai mis tout le prog si vous voulez tester, en fait le pb viens de la fonctino tri_shell(), je ne sais pas pkoi ell time.h [ par coucou747 ] j'aimerais cronométrer le temp de calcul d'un de mes programme...j'ai vu plusieurs sources, mais je n'arrives pas a les coller chez moi...voici mon pr utilisation de la souris pour un menu avec des cadres [ par MAF5582 ] /*salutj'aimerais 1-integrer une souris pour ce menu (actionner la fonction correspondante en cliqaunt sur le cadre)Est ce que quelquin peut me fourni affichage de caractere dans une grille [ par anzelus ] bonjour, voila, je suis un debutant en c, je dois faire un programme qui affiche une grille de points sur console, apres afficher un caractere special pb en c urgenttttttttttttttttt [ par natacha86 ] bonjour, j'ai un probleme avec mon programme, il ne veut pas sortir, j'ai fais un menu et apparement ya un bug mais je ne comprend rien.le code est as methode de simplexe en c [ par antttar ] #include #include #include #include #include #include #include </ compilation mai au lancement "erreur la memoire ne peu pas pas etre read" [ par touny23 ] je maitrise pas tro le C.mai comme j ai un projet a faire dessus pour la rentré , je sui obligé de m y mettre .j arrive a compiler sous dev-cpp mai lo syntax error at end of input [ par azerty53 ] Bonsoir à la communauté cppfrancej'ai un probleme sur mon code que je n'arrive pas du tout a résoudre et ca fait deja un certain temps que je suis des


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,636 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales