2017-01-21 1 views
0

Ce que je suis en train de faire est de randomiser et attribuer deux numéros à des variables et les ajouter tout en affichant les variables à l'utilisateur. L'utilisateur entre la somme des deux variables et si l'entrée et la somme sont les mêmes, l'utilisateur gagne. Cependant, quand je compare, le résultat est toujours faux quand j'ai utilisé console.log pour voir la valeur booléenne. J'utilise html et JavaScript. Voici mon code:Comparaison toujours faux lors de l'ajout de deux nombres aléatoires et en comparant la somme avec l'entrée d'utilisateur

<html> 
<head> 
<title> 
Game A 
</title> 
<script> 
var y = parseInt(Math.floor(Math.random()*20)); 
var z = parseInt(Math.floor(Math.random()*20)); 
function myFunction() { 
var p = parseInt(document.getElementById("demo")); 
var z = parseInt(p); 
var x = parseInt(y) + parseInt(z); 
var q = parseInt(x); 
console.log(z===q?true:false); 
if(z===q){ 
alert("Good job!"); 
} 
else{ 
alert("aw, try again!"); 
} 
} 
</script> 
</head> 
<body> 
<p>Click the button to calculate x.</p> 
<br/> 
<div id="a" style="display:inline-block;heigh:100px;width:100px;"> 
<script> 
document.getElementById('a').innerHTML= y; 
</script> 
</div> 
<div id="b" style="display:inline-block;heigh:100px;width:100px;"> 
<script> 
document.getElementById('b').innerHTML= z; 
</script> 
</div> 
<input id="demo"></input> 
<button onclick="myFunction()">Try it</button> 

</body> 
</html> 
+0

parce que vous réaffectée z dans votre maFonction et en ajoutant y après. de sorte que q est alsways plus grand que z quand y reste 0 – Blauharley

Répondre

0

Vous devez utiliser: document.getElementById("demo").value pour obtenir la valeur de l'entrée field.Do ne change pas la valeur de z dans la fonction en réaffectant la nouvelle valeur à it.Try ceci:

<html> 
 
<head> 
 
<title> 
 
Game A 
 
</title> 
 
<script> 
 
var y = parseInt(Math.floor(Math.random()*20)); 
 
var z = parseInt(Math.floor(Math.random()*20)); 
 
function myFunction() { 
 
var p = parseInt(document.getElementById("demo").value); 
 
var z1 = parseInt(p); 
 
var x = parseInt(y) + parseInt(z); 
 
var q = parseInt(x); 
 
    console.log(q); console.log(z1); 
 
console.log(z===q?true:false); 
 
if(z1===q){ 
 
alert("Good job!"); 
 
} 
 
else{ 
 
alert("aw, try again!"); 
 
} 
 
} 
 
</script> 
 
</head> 
 
<body> 
 
<p>Click the button to calculate x.</p> 
 
<br/> 
 
<div id="a" style="display:inline-block;heigh:100px;width:100px;"> 
 
<script> 
 
document.getElementById('a').innerHTML= y; 
 
</script> 
 
</div> 
 
<div id="b" style="display:inline-block;heigh:100px;width:100px;"> 
 
<script> 
 
document.getElementById('b').innerHTML= z; 
 
</script> 
 
</div> 
 
<input id="demo"></input> 
 
<button onclick="myFunction()">Try it</button> 
 

 
</body> 
 
</html>

+0

maintenant je vois ce que j'étais absent. Je vous remercie. –