杭手猜测功能未按预期工作

  • 本文关键字:工作 功能 javascript
  • 更新时间 :
  • 英文 :


我的hangman猜测功能的表现不应该。当猜测=="猜测值时,它可以做到的,因为它不会减小,但是当猜测在秘密的词中或不在时,它会下降。问题在我的代码的底部,在WordGuess((函数中。如果您可以感谢您,请提供帮助。**

这是我的Codepen代码的链接 https://codepen.io/milkyboii/pen/lypdrp?editors=0011

**

var guessWords = ["school", "test", "quiz", "pencil", "ruler", "protractor", "teacher", "homework", "science", "math", "english", "history", "language", "elective", "bully", "grades", "recess", ]
var secretWord = guessWords[Math.floor(Math.random()*guessWords.length)];
var wrongLetters = []
var correctLetters = []
var repeatLetters = []
var guesses = Math.round((secretWord.length) + (.5*secretWord.length)) 
function startGame() {
  var testWord = document.getElementById("randTest").innerHTML = secretWord; 
  var correctLettersOUT = "";
    document.getElementById("currentGuess").innerHTML = secretBlanks(secretWord)
    function secretBlanks(secretWord) {
      for (var i = 0; i < secretWord.length; i++) {
        correctLettersOUT+=("_ ");
        } return correctLettersOUT;
}}
function correctWord() {
  var guessLetter = document.getElementById("guessLetter").value;
  document.getElementById("letter").innerHTML = guessLetter;
 for (var i = 0; i < secretWord.length; i++) {
     if (correctLetters.indexOf(guessLetter) === -1)
        if (guessLetter === secretWord[i]) {
          correctLetters.push(guessLetter);
          break;
        }
 }
    if(wrongLetters.indexOf(guessLetter) === -1 && correctLetters.indexOf(guessLetter) === -1) {
         wrongLetters.push(guessLetter);
    }
  /*console.log(correctLetters); **Used to see if the letters were added to the correct array**
  console.log(wrongLetters);*/
wordGuess();
}
function wordGuess() {   
  if(guessLetter.value === ""){
    alert("You didn't guess anything.");
  }else if(guessLetter === secretWord){
    guesses = guesses + 0;
  }else {
    guesses--;
  }   
        console.log(guesses)
}

尝试对您的Codepen进行修改。我已经修复了它,以便猜测降低到0&amp;通过消息显示游戏。

问题在于此方法中(又称函数(:

function wordGuess() {
    if (guessLetter.value === '') {
        alert("You didn't guess anything.");
    } else if (guesses > 1) {
      // Counts down.
      guesses--;
      console.log('Guesses Left: ' + guesses);
      // Resets the input to a blank value.
      let guessLetter = document.getElementById('guessLetter');
      guessLetter.value = '';
    } else {
      console.log('game over');
    }
    /* You don't want to do this, because it's not decrementing the guesses.
    for (var i = 0; i < secretWord.length; i++) {
        if (guessLetter.value === secretWord[i])
            guesses = guesses + 0;
    }
    */
}

在脚本的顶部,猜测变量被设置为以下公式:

var guesses = Math.round((secretWord.length) + (.5 * secretWord.length))

这表明您想使用guesses--;倒数,而不是使用guesses++;来计数以前的作品:guesses -= 1;guesses = guesses - 1; VICE,反之亦然。

现在,您可以继续从事Hangman游戏!祝你好运!:(

JS Beautifier是一种方便的工具,顺便说一句!

最新更新