Master mind en c suite

Résolu/Fermé
trem_56_tu Messages postés 24 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 9 octobre 2008 - 9 déc. 2007 à 22:12
trem_56_tu Messages postés 24 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 9 octobre 2008 - 10 déc. 2007 à 01:54
Bonjour,la communaute j'ai programmer un jeu master mind j'aimerai votre aide afin de savoir quel amelioration je dois lui apporter car je il ne tourne pas correctement sans doute j'ai du faire fausse route ,mais si par hazard ce n'ai pas le cas je compte sur vous pour me signaler les correction à apporter voila ce programme:

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

/*--------------------------------------
* Programme du jeu mastermind version .
* ------------------------------------- */


/*--------------------------------------
* Les fonctions utiles au
* programme principal
* ------------------------------------- */

// On initialise le cote aleatoire du jeu.
// Disons qu'on utilise l'heure d'execution du
// programme (localtime) pour cela.
void InitialiserAleatoire(void)
{
time_t t_loc;
struct tm *tmp;

time(&t_loc);
tmp= localtime(&t_loc);
srand(tmp->tm_sec);
}

// Fonction testant la fin de la partie
int jeuFinie( pion2,nTours)
{
// Si le joueur 2 trouve la bonne combinaison
// le jeu est finie
if (pion2==combi());
return 0;

// Si le nombre de tours est atteint alors le jeu est finie
if (pion2!=combi() && nTours==10)
{
printf ("desolé la partie est finie");
}
return 0;
}
//fonction gerant les combinaisons de 5 chiffres compris entre 1 et 4
int combi()
{
int z ;

int aleat; // Sert au tirage aleatoire de la combonaison du joueur 1
z=aleat;
// On tire aleatoirement entre 1 et 4
aleat = (rand() % (4- 1 + 1)) + 1;
scanf("%d\n",&z);

return z;
}
//fonction de proposition du joueur 2
int proposepion(int pion2)
{
printf(" propose une combinaison joueur 2: ");
scanf ("%d",&pion2);

return pion2;
}

// Fonction qui affiche l'etat de la partie
int affichepartie(proposepion,nTours)
{
int d1,d2,d3,d4,d5;

do
nTours++;
while (nTours !=10);

if (d1!=combi() && d2!=combi() && d3!=combi() && d4!=combi() && d5!=combi())
printf ("desolé ,tu dois rejouer");

if (d1==combi())
printf ("seul un pion est bien placé");

else

printf ("la partie continue");

if (d2==combi())
printf ("seul un pion est bien placé");

else

printf ("la partie ne fait que commencer");

if (d1==combi() && d2==combi())
printf ("tu as deux pion bien placé");

else

printf ("cherche encore");

if (d3==combi())
printf (" seul 1 pion est bien placé");

else

printf ("creuse toi les méninge");

if (d1==combi() && d2==combi() && d3==combi() )
printf("ça devient intéressant tu as trouvé trois pions");

else

printf (" tu t'endort");

if (d1==combi() && d3==combi())
printf ("tu n'as touvé que deux pions bien placés");

if (d2==combi() && d3==combi() )
printf ("fait un effort tu n'est qu'à deux pions bien places");

else

printf (" je m'endort");

if (d4==combi())
printf ("tu as un pion bien placé");

if (d1==combi() && d2==combi() && d3== combi() && d4==combi())
printf ("je sens qu' on va bien s'amuser car tu as bien placé 4 pions");

if (d1==combi() && d4==combi())
printf("desolé, mais tu n'as que deux pions bien placés");

if (d2==combi() && d4==combi())
printf("tu as 2 pions bien placés");

if (d3==combi() && d4==combi())
printf ( " vraiment; tu as que 2 pion bien placés");

if ( d1==combi() && d2==combi() && d4==combi());
printf ("c'est pas mal,tu as 3 pions bien placés");

if (d1==combi() && d3==combi() && d4==combi())
printf (" tu as 3 pions bien placés");

if(d2==combi() && d3==combi() && d4==combi())
printf (" jolie tu as bien placé trois pions");

else

printf (" la partie ne fait que commencer");

if (d5==combi())
printf (" tu est loin du compte, tu n,as qu'1 pion bien placé");

if ( d1==combi() && d2==combi() && d3==combi() && d4==combi() && d5==combi())
printf("super tu as gagné, malheureusement pour moi je suis le perdant");

if ( d1==combi() && d5==combi())
printf("tu as 2 pions bien placés");

if ( d2==combi() && d5==combi())
printf("tu as 2 pions bien placés");

if ( d3==combi() && d5==combi())
printf("tu as 2 pions bien placés");

if ( d4==combi() && d5==combi())
printf("tu as 2 pions bien placés");

if (d1==combi() && d2==combi() && d5==combi())
printf (" tu as 3 pions bien placés");

if (d1==combi() && d3==combi() && d5==combi())
printf (" tu as 3 pions bien placés");

if (d1==combi() && d4==combi() && d5==combi())
printf (" tu as 3 pions bien placés");

if (d2==combi() && d3==combi() && d5==combi())
printf (" tu as 3 pions bien placés");


if (d2==combi() && d4==combi() && d5==combi())
printf (" tu as 3 pions bien placés");


if (d1==combi() && d2==combi() && d3== combi() && d5==combi())
printf ("génial tu as bien placé 4 pions");

if (d1==combi() && d2==combi() && d4== combi() && d5==combi())
printf (" ça m'inqiete tu as bien placé 4 pions");

if (d2==combi() && d3==combi() && d4== combi() && d5==combi())
printf (" zut! tu as bien placé 4 pions");

if (d1==combi() && d3==combi() && d4== combi() && d5==combi())
printf ("warning! tu as bien placé 4 pions");

printf("\n");
printf("--------------------------------------- \n\n");
}
/*Programme Principal
* ------------------------------------- */
int main(void)
{
int c1,c2,c3,c4,c5;
int nTours=10;
int pion2;
// Pour tirer des nombres aleatoires differents,
// on doit faire une petite manip avant tout tirage
InitialiserAleatoire();

c1=combi();
c2=combi();
c3=combi();
c4=combi();
c5=combi();


// Affichage de debut de la partie
printf("Que la partie commence \n");
affichepartie( proposepion,combi(),nTours );

// On attends que l'utilisateur appuie sur la touche enter;
getchar();

// La course continue tant que le jouuer 2 n' a pas trouve la bonne combinaison ou que les 10 tours ne sont pas atteint
while (jeuFinie(combi(),pion2, nTours) == 0 );

{
// le joueur 2 propose une comb;
pion2 =proposepion(pion2);

// On affiche la partie;
affichepartie(proposepion ,combi(),nTours);

// On attends que l'utilisateur appuie sur la touche enter;
getchar();
}

// Ici, la partie est forcement finie
// Ce qui suit sert a determiner qui est vainqueur
if (nTours!=10)
printf ("continue à chercher joueur 2 ! \n");
{
if(nTours==10)
printf("perdue joueur 2 ! \n");
else
printf("gagné : joueur 2 ! \n");

if (pion2!=combi())
printf("le gagnant est :le joueur 1 ! \n");

// Disons pour simplifier
// qu'il faut toujours mettre ceci a la fin du main
return 0;
}
}
A voir également:

1 réponse

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
9 déc. 2007 à 23:08
evite de cree plusieur post...
je te repondu sur ton autre post ;)
0
trem_56_tu Messages postés 24 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 9 octobre 2008 1
10 déc. 2007 à 01:54
bonjour, le programme que tu ma concocter est parfait merci bye
0