Pobleme pour recommencer une boucle d'un jeu
Résolu
Lsnd
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
Lsnd Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Lsnd Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je débute en Javascript et j'utilise Notepad++. Le problème que j'ai est sur le célèbre jeu Le Juste Prix (trouver un nombre mystère généré aléatoirement, grâce des informations).
voici mon programme et je vous explique mon problème à la suite :
Le début du programme fonctionne, mais lorsque je repond "oui" ou "non" à la question "Voulez vous rejouer ?" le programme me répond "A bientôt !" puis ne fait que de me redemander si je veux rejouer et de me dire "Bravo !!". Il ne s'arrête jamais et ne prend pas en compte ma réponse. De plus il continue d'ajouter +1 a la variable tentatives.
Je ne sais pas si mes explications sont clair, merci de votre aide et bonne soirée !
voici mon programme et je vous explique mon problème à la suite :
<script> var nombreMystere = Math.floor(100*Math.random()+1); var nombre = prompt("Entrez un nombre entre 0 et 100"); var tentatives = 0; var reponse; var rejouer = true; do{ do{ document.write(nombre); document.write("<br />"); if(nombreMystere < nombre){ document.write("Votre nombre est plus grand que le nombre mystère "); nombre = prompt("-"); tentatives = tentatives + 1; document.write("<br />"); }else if(nombreMystere > nombre){ document.write("Votre nombre est plus petit que le nombre mystère "); nombre = prompt("+"); tentatives = tentatives + 1; document.write("<br />"); }else{ tentatives = tentatives + 1; document.write(" Bravo !! Le nombre mystère était bien " + nombreMystere + ". Il vous a fallu "+ tentatives + " tentatives."); } document.write("<br />"); }while (nombre != nombreMystere); alert(" Bravo !!"); reponse = prompt("Voulez vous rejouer ?"); if(reponse == "NON" || "Non" || "non"){ alert("A Bientôt !"); rejouer = true; }else if(reponse == "OUI" || "Oui" || "oui"){ alert("C'est reparti !"); rejouer = false; } }while(rejouer = true) </script>
Le début du programme fonctionne, mais lorsque je repond "oui" ou "non" à la question "Voulez vous rejouer ?" le programme me répond "A bientôt !" puis ne fait que de me redemander si je veux rejouer et de me dire "Bravo !!". Il ne s'arrête jamais et ne prend pas en compte ma réponse. De plus il continue d'ajouter +1 a la variable tentatives.
Je ne sais pas si mes explications sont clair, merci de votre aide et bonne soirée !
A voir également:
- Recommencer une boucle python
- Citizen code python avis - Accueil - Outils
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
- Recommencer pokemon x - Forum DS
- Python pix ✓ - Forum Python
- Mot secret python pix ✓ - Forum Python
4 réponses
wvile (rejouer == true)
Var qqchose = new Function(){ // ici ton code } //appel de la fonction qqchose();
Ça ne fonctionne toujours pas, le programme n'est même pas exécutable.
Même en déplacent l'appel de ma fonction ça ne fonctionne pas.
<script> var nombreMystere = Math.floor(100*Math.random()+1); var nombre = prompt("Entrez un nombre entre 0 et 100"); var tentatives = 0; var reponse; var rejouer = true; var boucle = new Function(){ // création de la fonction do{ do{ document.write("le nombre mystrere est " + nombreMystere); document.write("<br />") document.write(nombre); document.write("<br />"); if(nombreMystere < nombre){ document.write("Votre nombre est plus grand que le nombre mystère "); nombre = prompt("-"); tentatives = tentatives + 1; document.write("<br />"); }else if(nombreMystere > nombre){ document.write("Votre nombre est plus petit que le nombre mystère "); nombre = prompt("+"); tentatives = tentatives + 1; document.write("<br />"); }else{ tentatives = tentatives + 1; document.write(" Bravo !! Le nombre mystère était bien " + nombreMystere + ". Il vous a fallu "+ tentatives + " tentatives."); } document.write("<br />"); }while (nombre != nombreMystere); alert(" Bravo !!"); reponse = prompt("Voulez vous recommencer ?"); if(reponse == "NON" || reponse == "Non" || reponse == "non"){ alert("A Bientôt !"); rejouer = false; }else if(reponse == "OUI" || reponse == "Oui" || reponse == "oui"){ alert("C'est reparti !"); rejouer = true; boucle(); // Je rappel la fonction } } } }while(rejouer == true) </script>
Même en déplacent l'appel de ma fonction ça ne fonctionne pas.
regarde donc tes ouvertures/fermetures d'acolades....
Ton "While" est en dehors de ta fonction ...
Tu regardes dans la console de ton navigateur au moins pour voir les érreurs JS ?????
Bon...
Voila une solution juste en organisant correctement tes boucles
Et une solution en utilisant la fonction :
Ton "While" est en dehors de ta fonction ...
Tu regardes dans la console de ton navigateur au moins pour voir les érreurs JS ?????
Bon...
Voila une solution juste en organisant correctement tes boucles
do{ var nombreMystere = Math.floor(100*Math.random()+1); var nombre = prompt("Entrez un nombre entre 0 et 100"); var tentatives = 0; var reponse; var rejouer = true; do{ document.write("<br />") document.write(nombre); document.write("<br />"); if(nombreMystere < nombre){ document.write("Votre nombre est plus grand que le nombre mystère "); nombre = prompt("-"); tentatives = tentatives + 1; document.write("<br />"); }else if(nombreMystere > nombre){ document.write("Votre nombre est plus petit que le nombre mystère "); nombre = prompt("+"); tentatives = tentatives + 1; document.write("<br />"); }else{ tentatives = tentatives + 1; document.write(" Bravo !! Le nombre mystère était bien " + nombreMystere + ". Il vous a fallu "+ tentatives + " tentatives."); alert(" Bravo !!"); reponse = prompt("Voulez vous rejouer commencer ?"); if(reponse == "NON" || reponse == "Non" || reponse == "non"){ alert("A Bientôt !"); rejouer = false; }else if(reponse == "OUI" || reponse == "Oui" || reponse == "oui"){ alert("C'est reparti !"); rejouer = true; } } document.write("<br />"); }while (nombre != nombreMystere); }while(rejouer == true);
Et une solution en utilisant la fonction :
function jouer(){ var nombreMystere = Math.floor(100*Math.random()+1); var nombre = prompt("Entrez un nombre entre 0 et 100"); var tentatives = 0; var reponse; var rejouer = true; do{ document.write("<br />") document.write(nombre); document.write("<br />"); if(nombreMystere < nombre){ document.write("Votre nombre est plus grand que le nombre mystère "); nombre = prompt("-"); tentatives = tentatives + 1; document.write("<br />"); }else if(nombreMystere > nombre){ document.write("Votre nombre est plus petit que le nombre mystère "); nombre = prompt("+"); tentatives = tentatives + 1; document.write("<br />"); }else{ tentatives = tentatives + 1; document.write(" Bravo !! Le nombre mystère était bien " + nombreMystere + ". Il vous a fallu "+ tentatives + " tentatives."); } document.write("<br />"); }while (nombre != nombreMystere); alert(" Bravo !!"); reponse = prompt("Voulez vous rejouer commencer ?"); if(reponse == "NON" || reponse == "Non" || reponse == "non"){ alert("A Bientôt !"); }else if(reponse == "OUI" || reponse == "Oui" || reponse == "oui"){ alert("C'est reparti !"); jouer(); } } jouer();
merci