MASTERMIND[DEV C++]

Fermé
bayarno Messages postés 10 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 10 avril 2012 - 11 déc. 2011 à 01:07
bayarno Messages postés 10 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 10 avril 2012 - 12 déc. 2011 à 07:50
Bonjour,
je suis débutant sur C++ et j'utilise devC++
j'essaye des crée de petits jeux mais devant ce lui la je bloque
merci de m'aider




comment crée le jeux master mind sur c++
il y a une combinaison de couleur a trouver
les couleurs possible sont 4 : r b v j
je jeu doit afficher le nombre de couleur qui sont a leur position et le nombre de couleur mal positionner
exemple pour le code rbvj
quand je tape bvvj
l' affichage est comme le suivent
couleur identique :2
couleur mal positionner :1
c'est l'utilisateur qui choisir la combinaison
et il y a le droit a 6 essai pas plus
et si sa de combinaison est toute juste avant le 6ém essai
l'affiche est "gagner" sinon "perdu"
apparemment ca ce fait avec un tableau non !
merci
A voir également:

3 réponses

bibnowhere Messages postés 43 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 14 avril 2014 4
11 déc. 2011 à 15:21
Bonjour bayarno,

En effet pour réaliser un mastermind en C/C++ il faut utiliser un tableau.

Je vous donne juste la déclarations des variables et vous laisse chercher la suite (et oui en développement, on passe beaucoup de temps à chercher,se creuser les méninges et c'est cela son plus grand charme :-))

char combinaison[5]; // tableau contenant les 5 couleurs à trouver
char copie[5] // tableau contenant la copie du tableau combinaison
char essai[6] // tableau contenant chacun des essais
int i, // indice de parcours des tableaux
nbEssai // compteur d'essai avant de trouver la formule
bp, mp // compteurs de bien et mal placés

Bon courage pour la mise en place de ce petit jeu.

Bien cordialement.

BibNowhere
1
bayarno Messages postés 10 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 10 avril 2012
Modifié par bayarno le 12/12/2011 à 06:07
j'ai fait ca mais il y a plein de problèmes

merci bibnowhere ca m'a aidé ce que tu m' a écrie
j'ai pas trouvé d' autre solution qu'avec ces 3 whiles
ca cree une boucle infinie en cas de mauvaise réponse
je suis perdu !!




#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NBCOUL 4
#define NBESS 6


main()
{
char codeSecret[NBCOUL] ; // tableau contenant les 4 couleurs à trouver
//char copie[NBCOUL] ; // tableau contenant la copie du tableau combinaison
char reponse,essai[NBESS] ; // tableau contenant chacun des essais
int i , k, n ; // indice de parcours des tableaux
int test, nbEssai; // compteur d'essai avant de trouver la formule
int bb=0, mm=0 ,NBCOUL ; // compteurs de bien et mal placés

srand(1810)

for(i=0;i<BNCOUL;i++)
{
switch(rand()%4){
case 0: codeSecret[i]='r';break;
case 1: codeSecret[i]='b';break;
case 2: codeSecret[i]='v';break;
case 3: codeSecret[i]='j';break;
}
}



do {

do{
do{


printf("Entrez votre combinaison : " );
scanf("%c", essai[n]);
n++;
}
while (n < NBCOUL);


/* boucle pour les valeurs presentes et bien placees*/
n=0;
i=0;
for {(j = 0; j < NBCOUL; j++)
if {essai[n] == codeSecret[i] && n == i
bb++; }
n++;
i++;
}
printf("Couleur identique: %d",bb);
/* boucle pour les valeurs presentes mais mal placees */
n=0;
i=0;
for (j = 0; j < NBCOUL; j++){
if {essai[n] == codeSecret[i] && n != i
mm++; }
n++;
i++;
}
printf("Couleur presentes : %d",mm);

test++;

}
while (bb<NBCOUL);
printf("\nVous avez gagne " )


}
while (test<NBESS)
printf("\nVous avez perdu " )};


/* Demander si l'usager veut continuer */
printf("\nVoulez-vous continuer ? (o/n) " );
scanf(" %c", &reponse);
}
while (reponse == 'o' || reponse == 'O');
if (reponse == 'n' || reponse=='N' ) printf("Fin " );

system("pause" );
}
0
bayarno Messages postés 10 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 10 avril 2012
Modifié par bayarno le 12/12/2011 à 07:51
peur etre c'est mieux comme ca mais tjr
des fautes a gogo



/*


*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NBCOUL 4
#define NBESS 6


main()
{
char codeSecret[NBCOUL] ; // tableau contenant les 4 couleurs à trouver
//char copie[NBCOUL] ; // tableau contenant la copie du tableau combinaison
char reponse,essai[NBESS] ; // tableau contenant chacun des essais
int i , k, n ; // indice de parcours des tableaux
int test; // compteur d'essai avant de trouver la formule
int bb=0, mm=0 ; // compteurs de bien et mal placés

srand(1810)

for(i=0;i<NBCOUL;i++)
{
switch(rand()%4){
case 0: codeSecret[i]='r';break;
case 1: codeSecret[i]='b';break;
case 2: codeSecret[i]='v';break;
case 3: codeSecret[i]='j';break;
}
}


// Le do pour rejouer
do {


// 6 Essais Max
for (test = 0; test < NBESS; test++){
do{
do{

printf("Entrez votre combinaison : " );
scanf("%c", &essai[n]);
n++;
}
while (n < NBCOUL);


// boucle pour les valeurs presentes et bien placees
n=0;
i=0;
for (j = 0; j < NBCOUL; j++)
{
if (essai[n] == codeSecret[i] && n == i)
{
bb++;
}
n++;
i++;
}
printf("Couleur identique: %d",bb);
// boucle pour les valeurs presentes mais mal placees
n=0;
i=0;
for (j = 0; j < NBCOUL; j++)
{
if (essai[n] == codeSecret[i] && n != i)
{
mm++;
}
n++;
i++;
}
printf("Couleur presentes : %d",mm);


}
while (bb<NBCOUL);
printf("\nVous avez gagne ");

}
printf("\nVous avez perdu ");


// Afficher la combinaison pour le perdant
if (bb<NBCOUL)
{
printf("\nLa combinaison etait %c %c %c %c ",codeSecret[0],codeSecret[1],codeSecret[2],codeSecret[3] );
}

// Demander si le joueur veut rejouer
printf("\nVoulez-vous rejouer ? (o/n) ");
scanf(" %c", &reponse);
}
while (reponse == 'o' || reponse == 'O');
if (reponse == 'n' || reponse=='N' ) printf("Fin du jeu ");

system("pause");
}
0