标题甚至不会显示在带有嵌入式javascript的HTML刽子手游戏中



我一辈子都想不通为什么这个网页甚至不会在html中显示标题。 我在这里列出了整个文档。 我是javascript和html的初学者,但我认为我了解函数是如何工作的。 显然我没有。根据 JSLint,第一个"for"循环似乎存在问题。下面是代码:

<!DOCTYPE html>
<html>
<head>
<title>Hangman!</title>
</head>
<body>
<header>
  <h1>Hangman!</h1>
</header>
  <script>
  var words = [
   "javascript",
   "monkey",
   "amazing",
   "pancake"
 ];
  var pickWord = function() {
    // Return a random word
    var word = words[Math.floor(Math.random() * words.length)];
    return word;
  };
  var setupAnswerArray = function(word) {
    // Return the answer array
    var answerArray = [];
    for (var i = 0; i < word.length; i++) {
    answerArray[i] = "_";
    return answerArray;
   };
  };
  var showPlayerProgress = function (answerArray) {
    // Use alert to show the player their progress
    alert(answerArray.join(" "));
  };
  var getGuess = function() {
    // Use prompt to get a guess
    var guess = prompt("Guess a letter, or click Cancel to stop playing.");
    if (guess === null) {
    // Exit the game loop
    break;
    } else if (guess.length !== 1) {
    alert("Please enter a single letter.");
 };
};
  var updateGameState() = function (guess, word, answerArray) {
    // Update the answerArray and return a number showing how many times the          guess appears in the word
    // so remainingLetters can be updated
    guess = prompt("Guess a letter, or click Cancel to stop playing.");
    for (var j = 0; j < word.length; j++) {
    if (word[j] === guess) {
    answerArray[j] = guess;
    remainingLetters--;
   };
   };
  };
  var showAnswerAndCongratulatePlayer = function (answerArray) {
    // Use alert to show the answer and congratulate the player
    alert(answerArray.join(" "));
    alert("Good job! The answer was " + word);
  };
  var word = pickWord();
  var answerArray = setupAnswerArray(word);
  var remainingLetters = word.length;
 while (remainingLetters > 0) {
    showPlayerProgress(answerArray);
    var guess = getGuess();
    if (guess === null) {
      break;
    } else if (guess.length !== 1) {
      alert("Please enter a single letter.");
    } else {
      var correctGuess = updateGameState(guess, word, answerArray);
      remainingLetters -+ correctGuess;
    };
  };
  showAnswerAndCongratulatePlayer(answerArray);
  </script>
 </body>
 </html>

你的代码中有一些错误。将变量updateGameState() = function (guess, word, answerArray)...更改为var updateGameState = function (guess, word, answerArray)...

var getGuess = function()中的break;更改为return;,因为没有循环。

最新更新