Programme Guess The Number
Résolu
iamtheone
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
iamtheone Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
iamtheone Messages postés 39 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train d'apprendre le javascript et j'ai essayé de faire un programme "guess the number" classique. Mais celui-ci ne marche pas... Et même avec les "indications" de la console je ne trouve pas les erreurs.
Voici mon code html :
Et voici mon code javascript :
Je tiens à préciser que j'utilise "sololearn" comme compiler.
Merci de me révéler les erreurs que vous voyez. ;)
Je suis en train d'apprendre le javascript et j'ai essayé de faire un programme "guess the number" classique. Mais celui-ci ne marche pas... Et même avec les "indications" de la console je ne trouve pas les erreurs.
Voici mon code html :
<!DOCTYPE html> <html> <head> <title>Guess the number</title> </head> <body onLoad="reset()"> <h2>Guess the number HTML/CSS/JS</h2> <p><a href="">Cliquez ici</a> pour découvrir la manière la plus rapide de deviner un nombre compris entre x et y.</p> <hr /> <input type="submit" value="Actualiser" onClick="reset()"> <p>Vous devez deviner le nombre z compris entre <span id="x"></span> et <span id="y"></span>.</p> <p id="so" align="center" color="red"></p> <form name="form"> <input type="number" name="number" value="0"><br /><br /> <input type="submit" name="submit" value="Soumettre" onClick="submit()"><br /> </form> <p>Votre nombre d'essais : <span id="trys"></span></p><br /><br /><br /><br /><br /><br /> </body> </html>
Et voici mon code javascript :
window.onload = function() { function reset() { x = Math.floor(Math.random() * (-101)); document.getElementById("x").innerHTML = "'+x+'"; y = Math.floor(Math.random() * 101); document.getElementById("y").innerHTML = "'+y+'"; z = Math.random() * (y - x) + x; trys = 0; document.getElementById("trys").innerHTML = "'+trys+'"; } function submit() { var ztry = eval(document.form.number.value); trys++; var so = document.getElementById("so"); if (ztry > z) { so.innerHTML = "c'est moins"; } elseif (ztry < z) { so.innerHTML = "c'est plus"; } elseif (ztry == z) { so.innerHTML = "c'est gagné !!!"; } else { so.innerHTML = "Merci d'entrer un nombre valide."; trys--; } } }
Je tiens à préciser que j'utilise "sololearn" comme compiler.
Merci de me révéler les erreurs que vous voyez. ;)
A voir également:
- Programme Guess The Number
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Message programmé iphone - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
3 réponses
Voici le code corrigé
Il manquait plein de choses ... comme par exemple la déclaration des variables "globales" x y z ...
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Guess the number</title> </head> <body onLoad="reset();"> <h2>Guess the number HTML/CSS/JS</h2> <p><a href="">Cliquez ici</a> pour découvrir la manière la plus rapide de deviner un nombre compris entre x et y.</p> <hr /> <input type="button" value="Actualiser" onClick="reset()"> <p>Vous devez deviner le nombre z compris entre <span id="x"></span> et <span id="y"></span>.</p> <p id="so" align="center" color="red"></p> <input type="number" id="number" value="0"> <input type="button" name="submit" value="Soumettre" onClick="verifier();"><br /> <p>Votre nombre d'essais : <span id="trys"></span></p><br /><br /><br /><br /><br /><br /> <script type="text/javascript"> //declaration des variables "globales" en dehors de toute fonction. var x; var y; var z = 0; var trys; function reset() { x = Math.floor(Math.random() * (0)); document.getElementById("x").innerHTML = x; y = Math.floor(Math.random() * 101); document.getElementById("y").innerHTML = y; z = parseInt(Math.random() * (y - x) + x); trys = 0; document.getElementById("trys").innerHTML = trys; } function verifier() { var reponse = ""; var ztry = parseInt(document.getElementById('number').value); trys = parseInt(document.getElementById('trys').innerHTML); trys++; console.log( "z : " + z + " -> ztry: " + ztry); if (ztry > z) { reponse = "c'est moins"; } else if (ztry < z) { reponse = "c'est plus"; } else if (ztry == z) { reponse = "c'est gagné !!!"; } else { reponse = "Merci d'entrer un nombre valide."; trys--; } document.getElementById("so").innerHTML = reponse; document.getElementById("trys").innerHTML = trys; } </script> </body> </html>
Il manquait plein de choses ... comme par exemple la déclaration des variables "globales" x y z ...
iamtheone
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
Un grand merci, ça marche très bien. Je vais regarder comment tu as fais pour ne plus faire les mêmes erreurs.
Bonjour,
Remplace
par :
et dans le js
remplace par :
Remplace
<input type="number" name="number" value="0"> <input type="submit" name="submit" value="Soumettre" onClick="submit()">
par :
<input type="number" id="number" value="0"> <input type="button" name="submit" value="Soumettre" onClick="submit()">
et dans le js
var ztry = eval(document.form.number.value);
remplace par :
var ztry = parseInt(document.getElementById('number').value);
C'est le code COMPLET de ma page. Je rappele que j'utilise sololearn.
--
--
ça ?
<!DOCTYPE html> <html> <head> <title>Guess the number</title> <script> function reset() { x = Math.floor(Math.random() * (-101)); document.getElementById("x").innerHTML = "'+x+'"; y = Math.floor(Math.random() * 101); document.getElementById("y").innerHTML = "'+y+'"; z = Math.random() * (y - x) + x; trys = 0; document.getElementById("trys").innerHTML = "'+trys+'"; } function submit() { var ztry = parseInt(document.getElementById('number').value); trys++; var so = document.getElementById("so"); if (ztry > z) { so.innerHTML = "c'est moins"; } elseif (ztry < z) { so.innerHTML = "c'est plus"; } elseif (ztry == z) { so.innerHTML = "c'est gagné !!!"; } else { so.innerHTML = "Merci d'entrer un nombre valide."; trys--; } } </script> </head> <body onLoad="reset()"> <h2>Guess the number HTML/CSS/JS</h2> <p><a href="">Cliquez ici</a> pour découvrir la manière la plus rapide de deviner un nombre compris entre x et y.</p> <hr /> <input type="submit" value="Actualiser" onClick="reset()"> <p>Vous devez deviner le nombre z compris entre <span id="x"></span> et <span id="y"></span>.</p> <p id="so" align="center" color="red"></p> <form name="form"> <input type="number" id="number" value="0"> <input type="button" name="submit" value="Soumettre" onClick="submit()"><br /> </form> <p>Votre nombre d'essais : <span id="trys"></span></p><br /><br /><br /><br /><br /><br /> </body> </html>