Rechercher : dans
Par :

Jeu de pendu

Dernière réponse le 18 jui 2008 à 08:05:22 jiyda, le 18 jui 2008 à 03:19:31 
 Signaler ce message aux modérateurs

Salut a tout, :)

j'ai un probleme avec la realisation du jeu de pendu, voila mon code source

Main.c

Code : C

#include <stdio.h>
#include <stdlib.h>
#include "pendule.h"
#include <ctype.h>

int main(int argc, char *argv[])
{
long i, coups=10;
char motSecret[]="MOTSECRET", motCache[]="*********";
char lettreEntree;
printf("Jeu de pendu \n");
while(gagne(motSecret, motCache)!=0 && coups>0)// tant que le joueur n'a pas gagner et qu'il lui reste encore des coups
{
printf("Entrer une lettre:\n");
lettreEntree=lireCaractere(); //on demande au joueur d'entrer une lettre a l'aide de la fonction lireCaractere qui est situee dans pendule.c

for(i=0; motSecret[i] != '\0'; i++)
{

if(lettreEntree==motSecret[i]) // on compare la lettre entree avec les lettre du mot secret
{
motCache[i]=lettreEntree; // si elle est identique a l'une des lettre on la revele
}

}
printf("%s", motCache); //on affiche le mot cache
coups--;
printf("Il vous reste %ld coups.\n ", coups );

}
system("PAUSE");
return 0;
}



pendule.h

Code : C

char lireCaractere();
int gagne (char*, char*);



pendule.c


Code : C

char lireCaractere()
{
char caractere=0;

caractere = getchar();
caractere = toupper(caractere);

while (caractere != '\n' );


return caractere;
}
int gagne(char motSecret[], char motCache[])
{
long i, gagne=0;

char caractere = -1;

for(i=0; caractere != '\0'; i++)
{
caractere = motSecret[i];

if(caractere != motCache[i])
{
gagne++;
}

}

return gagne;
}



Je suis sous Visual C++, le programme s'execute mais des que j'entre une lettre il s'arrete je ne sais pas pourquoi???
Merci d'avance !!
--------------------------------------------------------------------------------
JiYd@

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « Jeu de pendu » dans :
Logiciels pour créer un jeu vidéo (RPG maker, Mugen, etc.) VoirLogiciels de création de jeux polyvalents Logiciels de création de jeux de combat Logiciel de création de jeux de rôle Autres logiciels Si vous n'êtes pas programmeur, mais que vous souhaitez créer votre jeu vidéo, des logiciels très...
Impossible d'installer ou de lancer un jeu vidéo VoirLe jeu vidéo que vous venez d'acquérir refuse obstinément de se lancer ou de s'installer. Veuillez vérifier les points ci-dessous 1.Pour l'installation Absence de logiciels d'émulation ou de copie Vérifier que l'un des logiciels suivants n'est...

1

 Char Snipeur, le 18 jui 2008 à 08:05:22

Si tu utilise getchar(), ta boucle while(caractere != '\n' );
est :
1) inutile
2) (ce qui est plus grave) inopérante; en effet, tu lui dit de ne rien faire tant que "caractère" est différent du retour à la ligne. Or, si il ne fait rien "caractère" ne risque pas de changer de valeur ! Une belle boucle infini quoi.
Essai en retirant cette ligne. Salutation ! avant je croyais, maintenant je suis fixé.Jésus Christ
Char Snipeur

Répondre à Char Snipeur
Collection CommentÇaMarche.net