我正在构建的是一个游戏,其中计算机生成一个随机数(1-100),用户必须猜出正确的数字。我们的目标是让电脑比较目前的猜测与之前的猜测,并且吐出一个声明:“热”,“冷”,“热”,“较冷”等。嵌套的If-else语句被跳过
My Code(focus on the JS ):CodePen fiddle
//global variables--computer generated guess, and guess log
var answer = Math.floor((Math.random() * 100)+1);
var guessArray = [];
var index = 0;
//user clicks submit button and guess is registered by computer
$("#submit").click(function(){
var guess = $("#guess").val();
guessArray.push(guess);
//prints out the answer and user guesses
$("#answer").text("Answer:" + " "+ answer);
$("#guessArrayPrint").text("You guessed: " + " " + guessArray + " ");
if (answer === guess) {
$("#statement").text("woo hoo right answer");
} else {
var currentDifference = Math.abs(answer-guess);
var currentDiffArray = [];
currentDiffArray.push(currentDifference);
if (index = 0) {
//if-else statement comparing current guess range to answer
if (currentDifference >=1 && currentDifference <= 10){
$("#statement").text("Ouch! You're hot!");
} else {
$("#statement").text("Brr! You're cold!");
}
} else {
//if-else statement comparing current guess to previous guess
var previousDiff = answer- prevguess;
var prevguess = guessArray [i-1];
if(previousDiff < currentDifference){
$("#statement").text("Ahh! Getting Warmer!");
} else {
$("#statement").text("Brrr...getting colder");
}
}
index++
}
});
我嵌套的if-else语句不工作。当用户输入猜测时,无论接近答案,它总是返回“brr ..变得更冷”,它位于“else
”部分。
理想情况下,当用户输入他们的第一个猜测if (index = 0)
应该运行,然后当输入第二个猜测时,它应该移动到带有先前猜测变量的“else”语句。我试着围绕变量移动,改变了if/else的顺序,并且认为它可能是index++
的位置。没有任何工作。不知道我的变量,数组或if/else语句的语法是否有问题。
TL;博士:仅运行该程序时嵌套if-else
语句的“else
”部分运行。不知道如何解决......我经历了很多次我的代码。语法,数组和变量。不确定有什么问题。
'“200”!== 200'。你需要'parseInt(guess,10)'或'var guess = parseInt($(“#guess”).val(),10);'。 – tenub
if(index = 0){should if if(index == 0){ – ltalhouarne