Bonjour tout le monde,
J'essaye de programmer un mini mini jeu en C, le pendu. Je pense que la majorité des gens connaissent les régles du jeu mais je brièvement rappeler le but. On a un mot caché et le but est de trouver ce mot. A chaque coup on a la possibilité de proposer une lettre, si le mot à trouver contient la lettre, elle est remplacé et ainsi de suite jusqu'à trouver le mot en question.
J'ai un petit problème. C'est sur la partie ou on doit vérifier qu'un caractère appartient ou non au mot à trouver. Mon problème se situe au niveau de ma boucle if mais je ne comprends pas pourquoi. Après vérification (j'ai mis un printf dans la boucle if) je constate que le programme entre dans la boucle if qu'une seule fois et qu'il vérifie QUE la première lettre du mot à trouver. (Pour le mot marron par exemple il ne reconnaît que la lettre m et il faut que je rentre la lettre m à la première ittération sinon la lettre n'est pas reconnue.)
Tout ce bloc de code se trouve lui même dans une boucle while qui me permet d'arrêter le jeu grâce à un compteur. (je sais ce n'est pas très très élégant mais c'est la première chose à laquelle j'ai pensé)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 for (i=0;i<strlen(motsecret);i++) { printf("Il vous reste %d coups a jouer\nQuel est le mot secret ? %s\n", compteur, motcrypte); printf("Proposez une lettre : "); lettre = lireCaractere(); if (motsecret[i] == lettre) { motcrypte[i] = lettre; } }
Partager