我的1页Web应用程序在完成某个级别后将变量减少2而不是1

时间:2012-12-26 23:47:58

标签: javascript jquery html

由于某种原因,在用户猜出正确的号码并且在确认之后再次玩游戏但是猜测较少(比原来少2),每当用户猜出一个数字时,剩余的猜测被扣除2,有时只是随机数而不是通常的1.我尝试更改代码以各种不同的方式扣除,但无济于事:

j--;
j -= 1;
j = j - 1;

Fiddle中的完整代码,如果有人可以提供帮助那就太棒了我已经在这几个小时了!感谢

部分猜测按钮点击事件

if (currentGuess < numberToGuess) { 
        $hintBox.html('<p class="blue">Try higher</p>');
        } else {
            $hintBox.html('<p class="blue">Go lower</p>');
                }
        j = j - 1;
        $('.numberGuesses').html(j);
}  // end of if guess is not correct

else if (currentGuess === numberToGuess) {
    alert('Well done the correct number was '+ numberToGuess);
  var playAgain = confirm("Let's see if you can do that again with less guesses.");
    if (playAgain){
        $('#gameDiv').hide('pulsate', 100, function(){
            $('#mode').delay(200).show('pulsate', 500);
        });
        lowerGuesses = lowerGuesses - 2;
        $('.numberGuesses').html(lowerGuesses);                
    } else { 
        location.reload();
        }
    }

1 个答案:

答案 0 :(得分:0)

在您获得正确的号码后,您不会将计数器j重置为lowerGuesses

代码很难遵循,IMO有点破碎。事情需要更好地分解。将“新游戏”代码隔离成实际上有新游戏时调用的内容。创建一个新的随机数。清除它记得的数字;在我修复它之后它再次是相同的数字(可能但不太可能,所以我假设逻辑也被打破)所以它都警告我,我已经猜到了数字,告诉我我猜对了这个号码。

基本上你的游戏循环应仅适用于游戏,而不是用于准备新游戏等。考虑传递玩家应该进入newGame函数的猜测次数(以及许多其他重构)。