Téléchargement
illégal
Posez votre question Signaler

Jeu du pendu [Résolu]

linksys23 141Messages postés 16 février 2008Date d'inscription 30 décembre 2010Dernière intervention - Dernière réponse le 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;
}
Lire la suite 

Jeu du pendu »

14 réponses
Réponse
+1
moins plus
pourrais tu quand même m'envoyer le code avec les bugs que tu a corrigé ?
Ajouter un commentaire
Réponse
+1
moins plus
faut-il vraiment tout refaire ?
Ajouter un commentaire
Réponse
+0
moins plus
Tu dois mettre des références aux valeurs déclarées.
Ajouter un commentaire
Réponse
+0
moins plus
qu'entends tu par des références?
Ajouter un commentaire
Réponse
+0
moins plus
Heu oublie!

Tu pourrais me passer le fichier HEADER.H?

Apparemment il me le faut pour compiler le projet.
Ajouter un commentaire
Réponse
+0
moins plus
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;
}
Ajouter un commentaire
Réponse
+0
moins plus
Voilà ce qui me manquait pour compiler le pj! ^^

Je vais de ce pas faire le header et compiler le pj.
Ajouter un commentaire
Réponse
+0
moins plus
en effet ça ne marche pas.

je regarde un peu le code et je te dis ce qu'il faudra faire.
Ajouter un commentaire
Réponse
+0
moins plus
très bien merci c'est gentil de prendre un peu de ton temps pour m'aider.
Ajouter un commentaire
Réponse
+0
moins plus
à mon avis tout est à refaire.

J'ai néanmoins corrigé quelques bugs.
Ajouter un commentaire
Réponse
+0
moins plus
Révise les codes, je crois que ça vient de là. (pléonasme lol)

Pour la correction des bugs, j'ai quasiment rien fait.
Ajouter un commentaire
Réponse
+0
moins plus
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!
Ajouter un commentaire
Réponse
+0
moins plus
Bonne chance! ;)
Ajouter un commentaire
Réponse
+0
moins plus
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. :)
Ajouter un commentaire
Ce document intitulé « jeu du pendu » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?