Javascript / JQuery猜谜游戏

时间:2013-05-01 02:08:16

标签: javascript jquery html

这是我正在制作的猜谜游戏的JSfiddle:http://jsfiddle.net/JMqxq/13/ 到目前为止,一切都很好,但显示剩余猜测的部分并没有按照我想要的方式工作。它从3开始,每当你有一个不正确的猜测时,它就会下降一个,这就是我想要的,但是一旦你用尽了猜测,我希望你回到第一级并让剩下的猜测回到3以后你重新开始了。它成功启动了游戏,但是计数的显示被卡在0(即使它实际上已经回到3)。我还希望在你得到正确的猜测(向上移动一个级别)后,显示的猜测仍然会回到3,但事实并非如此。谁能帮我解决这个问题?以下是有问题的实际代码:

HTML:

<p id="result">Guess a color.</p>
<p>Remaining guesses: <span id="guesses">3</span></p>
<h2>Level <span id="level">1</span></h2>   

的Javascript / JQuery的:

 function correct(){
  document.getElementById("result").innerHTML = "You are correct! Guess another color.";
  level++;
  reset(); 
 }

function incorrect(){
  document.getElementById("result").innerHTML = "Sorry, you are incorrect.";
  guesses--;
  document.getElementById("guesses").innerHTML = guesses;
   if (guesses == 0){
     level = 1;
      reset();
      document.getElementById("result").innerHTML = "Guess a color";      
   }

  }

function reset(){
  $(".box").animate({"opacity": "1"}, "slow");
  guesses = 3;
  temp = Math.floor((Math.random()*6)+1);
  document.getElementById("level").innerHTML = level;
}

function rand(){
  temp = Math.floor((Math.random()*6)+1);
  $("div.box").click(function() {
      if (temp == $(this).data("id")) {
          correct();
      } else {
          $(this).animate({"opacity": "0.25"}, "slow");
          incorrect();
      }
  });
}

1 个答案:

答案 0 :(得分:1)

您需要添加

   document.getElementById("guesses").innerHTML = guesses;

进入你的重置功能。