Jeu du pendu

Résolu/Fermé
linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 - 18 mai 2008 à 13:51
linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 - 24 mai 2008 à 13:12
Bonjour,

je suis en train de réalisé un pendu en C mais je suis coincé je comprends pas pourquoi mon code ne marche pas pourriez-vous m'aider s'il vous plait.

voici mon code :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"

int main(int argc, char *argv[])
{
  char motATrouver[] = "MARRON"; int lettreProposer = 0; long coupsRestant = 10, i = 0; int lettreTrouver[6] = {0};
while (coupsRestant > 0 && gagne(lettreTrouver) == 0)
{
     printf("il vous reste %ld coups\n ", coupsRestant);
     printf("Quel est le mot secret ? ");
for (i = 0 ; i < 6 ; i++)
{
    if (lettreTrouver[i]) 
    printf("%c", motATrouver[i]); 
else
    printf("*");
}  
     printf("\nproposez une lettre : ");
     lettreProposer = lireCaractere();
     strchr(motATrouver, lettreProposer);
if (strchr == NULL)
{
     coupsRestant--;
}
}
     if(gagne(lettreTrouver))
{
     printf("felicitation! tu as trouve le mot cache.\n");
}
else
{
    printf("tu est mort! X_X\n");
}
  system("PAUSE");	
  return 0;
}
A voir également:

14 réponses

linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 27
18 mai 2008 à 17:08
pourrais tu quand même m'envoyer le code avec les bugs que tu a corrigé ?
1
linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 27
21 mai 2008 à 21:27
faut-il vraiment tout refaire ?
1
-Shadow- Messages postés 2149 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 17 juin 2023 269
18 mai 2008 à 13:54
Tu dois mettre des références aux valeurs déclarées.
0
linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 27
18 mai 2008 à 14:12
qu'entends tu par des références?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
-Shadow- Messages postés 2149 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 17 juin 2023 269
18 mai 2008 à 14:14
Heu oublie!

Tu pourrais me passer le fichier HEADER.H?

Apparemment il me le faut pour compiler le projet.
0
linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 27
18 mai 2008 à 14:19
oui tient voici les fonctions qui vont avec:

char lireCaractere() 
{ 
    char caractere = 0;
 
    caractere = getchar(); 
    caractere = toupper(caractere); 
 
    
    while (getchar() != '\n') ;
 
    return caractere; 
 
}

int gagne(int lettreTrouver[])
{
    long i = 0;
    int joueurGagne = 1;
    for(i = 0; i < 6; i++)
{
    if (lettreTrouver[i] == 0)
{
    joueurGagne = 0;
}
}
    return joueurGagne;
}
0
-Shadow- Messages postés 2149 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 17 juin 2023 269
18 mai 2008 à 14:20
Voilà ce qui me manquait pour compiler le pj! ^^

Je vais de ce pas faire le header et compiler le pj.
0
-Shadow- Messages postés 2149 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 17 juin 2023 269
18 mai 2008 à 14:23
en effet ça ne marche pas.

je regarde un peu le code et je te dis ce qu'il faudra faire.
0
linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 27
18 mai 2008 à 14:24
très bien merci c'est gentil de prendre un peu de ton temps pour m'aider.
0
-Shadow- Messages postés 2149 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 17 juin 2023 269
18 mai 2008 à 15:45
à mon avis tout est à refaire.

J'ai néanmoins corrigé quelques bugs.
0
-Shadow- Messages postés 2149 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 17 juin 2023 269
21 mai 2008 à 21:35
Révise les codes, je crois que ça vient de là. (pléonasme lol)

Pour la correction des bugs, j'ai quasiment rien fait.
0
linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 27
22 mai 2008 à 20:34
très bien merci de m'avoir aider je vais revoir un peu tout mon code pour essayer de faire marcher ce jeu et je compte bien y arriver!
0
-Shadow- Messages postés 2149 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 17 juin 2023 269
24 mai 2008 à 12:11
Bonne chance! ;)
0
linksys23 Messages postés 133 Date d'inscription samedi 16 février 2008 Statut Membre Dernière intervention 30 décembre 2010 27
24 mai 2008 à 13:12
voila j'ai tous recommencé et voici mon nouveau code, il marche même si, lorsque l'on a trouvé le mot, il n'affiche pas "bravo! tu as gagné!" ça devrait pas être trop difficile à corriger et je m'en occupe dès que j'ai le temps:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "header.h"

int main(int argc, char *argv[])
{
char motATrouver[] = "COUCOU"; int lettreEntree[6] = {0}; long coupsRestants = 10, i = 0, lettre = 0;

 printf("Bienvenue dans mon pendu\n\n");
while(coupsRestants > 0 || !gagne(lettreEntree) == 0)
 {    
    printf("il vous reste %ld coups\n", coupsRestants);
    printf("\nProposez une lettre en majuscule seulement : ");
lettre = lireCaractere(); //on lit le caractère

if(strchr(motATrouver, lettre) != NULL) 
  {
    for(i = 0; i < 6; i++) 
    { 
    if(lettre == motATrouver[i])
    lettreEntree[i] = 1;
    if(lettreEntree[i] != 0) //si une des valeurs du tableau lettreEntree vaut vrai tu l'affiche
    printf("%c", motATrouver[i]);  
    else
    printf("*"); //sinon tu affiche une étoile
    }
  }
else
  {
    coupsRestants--;
  }
 } 
 if(gagne(lettreEntree))
 printf("Bravo! tu as gagné!\n");
 else
 printf("Oh non! tu est mort! X_X\n");                  
  system("PAUSE");	
  return 0;
}


merci encore une fois de m'avoir aidé finalement j'ai bien fait de tout recommencé, mon code m'a parru plus clair et plus compréhensible. :)
0