2017-01-21 1 views
0

Was ich versuche, ist zufallsmäßig zu verteilen und zwei Variablen Variablen zuzuweisen und sie hinzuzufügen, während die Variablen dem Benutzer angezeigt werden. Der Benutzer gibt die Summe der zwei Variablen ein, und wenn die Eingabe und die Summe identisch sind, gewinnt der Benutzer. Wenn ich vergleiche, ist das Ergebnis immer falsch, wenn ich console.log benutzt habe, um den booleschen Wert zu sehen. Ich verwende HTML und JavaScript. Hier ist mein Code:Vergleich immer falsch, wenn zwei Zufallszahlen addiert und die Summe mit der Benutzereingabe verglichen wird

<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

, weil Sie danach z in Ihrem myFunction und das Hinzufügen von y neu zugewiesen werden. so dass q immer größer ist als z wenn y bleibt 0 – Blauharley

Antwort

0

Sie müssen verwenden: document.getElementById("demo").value den Wert aus dem Eingang zu bekommen field.Do nicht den Wert von z innerhalb der Funktion ändern, indem Sie den neuen Wert Neuzuweisung dies it.Try:

<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

Jetzt sehe ich was ich vermisst habe. Vielen Dank. –

Verwandte Themen