Problème Jeu pendu Javascool
flagadortv
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Salut je débute tout juste le java sous javascool en isn. Je dois faire un pendu simple et pas faire de "machine à gaz". Voici mon code :
Le poblème c'est que lorsque je propose une lettre, même si le mot proposé par le joueur 1 contient cette lettre, je perdrais une vie pour chaque lettre du mot qui n'est pas la même que celle que j'ai proposé. Par conséquent je perd à chaque fois (le nombre de lettre du mot - le nombre de fois qu'apparait la lettre que j'ai proposé dans ce mot) Donc je perd des vies meme si le mot contient la lettre que j'ai proposé, et j'en perd le nombre de lettres du mot si il ne contient pas la lettre.
Je veux que si le mot contient la lettre que j'ai proposé, je ne perd aucune vie et si le mot ne contient pas la lettre que j'ai proposé, je n'en perd qu'une.
Je dois rendre ça pour demain.
J’espère avoir été assez clair, merci !
void main(){ int longmot = 0; int coupsrestants = 10; // Le nombre d'essais est défini sur 10 println("Entrez un mot"); String motadeviner = readString(); // L'utilisateur rentre un mot longmot=motadeviner.length(); // Calcule la longueur du mot println("Au tour du joueur 2,le mot contient " + longmot + " caractères !"); while (coupsrestants > 0) { // tant qu'il reste des essais println("Entrez une lettre"); char lettre=readChar(); // L'utilisateur propose une lettre for (int i=0; i < longmot; i++) { //I augmente de 1 jusqu'au nombre de lettres dans le mot if(motadeviner.charAt(i)==lettre){ //Si la lettre proposée est contenue dans le mot println("le mot contient la lettre " + lettre + " à la position" + i); //afficher ou elle est } else { coupsrestants = coupsrestants - 1; // on perd un essai println("il vous reste " + coupsrestants + " essais"); // affiche le nombre d'essais restants } }
Le poblème c'est que lorsque je propose une lettre, même si le mot proposé par le joueur 1 contient cette lettre, je perdrais une vie pour chaque lettre du mot qui n'est pas la même que celle que j'ai proposé. Par conséquent je perd à chaque fois (le nombre de lettre du mot - le nombre de fois qu'apparait la lettre que j'ai proposé dans ce mot) Donc je perd des vies meme si le mot contient la lettre que j'ai proposé, et j'en perd le nombre de lettres du mot si il ne contient pas la lettre.
Je veux que si le mot contient la lettre que j'ai proposé, je ne perd aucune vie et si le mot ne contient pas la lettre que j'ai proposé, je n'en perd qu'une.
Je dois rendre ça pour demain.
J’espère avoir été assez clair, merci !
A voir également:
- Problème Jeu pendu Javascool
- Jeu du pendu - Télécharger - Vie quotidienne
- 94 jeu - Télécharger - Puzzle & Réflexion
- 94 degrés jeu - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Logo jeu - Télécharger - Jeux vidéo
3 réponses
Bonsoir
voici ce que tu as écris en pseudo code
A ton avis où est le problème?
voici ce que tu as écris en pseudo code
Pour i variant de 0 à longueur de mot -1
Si la lettre à l'emplacement i du mot est celle proposée alors
Affiche message
Sinon
Perd un vie
Fin Si
Fin Pour
A ton avis où est le problème?
Un concept (y'en a d'autres), tu stockes les lettres trouvées, quand on en trouve une de plus (à toi de voir comment), le coup est bon, on ne perd pas de vie.
Quand le coup est bon, on vérifie si les lettres stockées constituent le mot, si oui la partie est gagnée.
Quand le coup est bon, on vérifie si les lettres stockées constituent le mot, si oui la partie est gagnée.
Bonjour,
Une manière simple de coder est souvent de faire faire à la machine ce que ferait l'homme...
Par exemple, on me parle pendu, je pense à une ligne genre "______" qu'il faut compléter pour avoir "G_G___" si on devine un G correct et au final on a gagné quand le mot "GAGNER" est complet et identique au mot à trouver.
Tout ça pour dire qu'à mon avis il te manque ce mot intermédiaire qu'il faut afficher au fur et à mesure et sur lequel baser ton algorithme.
NB. Techniquement j'utiliserais un char[]
Une manière simple de coder est souvent de faire faire à la machine ce que ferait l'homme...
Par exemple, on me parle pendu, je pense à une ligne genre "______" qu'il faut compléter pour avoir "G_G___" si on devine un G correct et au final on a gagné quand le mot "GAGNER" est complet et identique au mot à trouver.
Tout ça pour dire qu'à mon avis il te manque ce mot intermédiaire qu'il faut afficher au fur et à mesure et sur lequel baser ton algorithme.
NB. Techniquement j'utiliserais un char[]
Je sais pas quel nom donne à "coupsparmot"
Voilà. Comment je peu faire pour que ça soit plus "clean" ? Et il faut que j'intègre une fin aussi.
Et comme tu le dis, il faut prévoir la fin.
Comment savoir si le joueur a trouvé le mot?
voilà ou j'en suis :