Пытаюсь написать игру "Виселица":
var pickWord = function() {
//Возвращает случайно выбранное слово
var words = ["чумазоид", "коала", "колобок", "чебурек"];
var word = words[Math.floor(Math.random() * words.length)];
return word
};
var setupAnswerArray = function(word) {
// Возвращает итоговый массив для заданного слова
var answerArray = [];
for (var i = 0; i <word.length; i++) {
answerArray[i] = "_";
}
return answerArray;
};
var showPlayerProgress = function(answerArray) {
// С помощью alert отображает текущее состояние игры
alert(answerArray.join(" "));
};
var getGuess = function() {
return prompt("Введите букву или нажмите отмена для выхода")
};
var updateGameState = function(guess, word, answerArray) {
var apperance = 0;
for (var j = 0; j <word.length; j++) {
if (word[j] === guess) {
answerArray[j] = guess;
apperance++;
}
}
return apperance
};
var showAnswerandCongratulatePlayer = function(answerArray) {
showPlayerProgress(answerArray);
alert("Отлично, было загаданно слово" + answerArray.join(""))
};
// word: загаданное число
var word = pickWord();
// answerArray: итоговый массив
var answerArray = setupAnswerArray();
// remainingLetters: сколько букв осталось угадать
var remainingLetters = word.length;
while (remainingLetters > 0) {
showPlayerProgress(answerArray);
// guess: ответ игрока
var guess = getGuess();
if (guess === null) {
break;
} else if (guess.length !== 1) {
alert("Пожалуйста введите одиночную букву.");
} else {
// correctGuesses: количество открытых букв
var correctGuesses = updateGameState(guess, word, answerArray);
remainingLetters -= correctGuesses;
}
}
showAnswerandCongratulatePlayer(answerArray);
после запуска выдает ошибку
VM189:10 Uncaught TypeError: Cannot read property 'length' of undefined
at setupAnswerArray (<anonymous>:10:22)
at <anonymous>:39:19