Здравствуйте, как работает этот js код?
код таков:
var words = [
"Программа",
"макака",
"прекрасный",
"оладушек"
];
var word = words [Math.floor(Math.random() * words.length)]
var answerArray = [];
for (var i = 0; i < word.length; i++) {
answerArray[i] = "_";
}
var remainingLetter = word.length;
while (remainingLetter > 0){
alert(answerArray.join(" "));
var guess = prompt ("Угадайте букву или нажмите отмена для выхода");
if (guess === null){
break;
} else if (guess.length !== 1){
alert("Пожалуйста введите одну букву");
} else {
for (var j = 0; j < word.length; j++){
if (word [j] === guess) {
answerArray[j] = guess;
remainingLetter--;
}
}
}
}
alert(answerArray.join(" "));
alert("Отлчно! Было загадано слово " + word);
Не до конца соображаю как он работает, объясните кому не сложно, заранее спасибо!
Ответы (1 шт):
Автор решения: Oliver Patterson
→ Ссылка
var words =
[
"Программа",
"макака",
"прекрасный",
"оладушек"
]; // массив слов
var word = words[Math.floor(Math.random() * words.length)] // выбираем одно случайное слово
var answerArray = []; // создаем пустой массив
for (var i = 0; i < word.length; i++) { // проходимся по каждой букве слово
answerArray[i] = "_"; // подставляем вместо буквы "_" (тем самым мы "шифруем" угадываемое слово)
}
var remainingLetter = word.length; // уазываем, сколько букв нужно угадать (равен длине слова)
while (remainingLetter > 0) { // цикл выполняется, пока есть буквы для угадывания
alert(answerArray.join(" ")); // выводим наше "заширофанное" угадываемое слово
var guess = prompt("Угадайте букву или нажмите отмена для выхода"); // выводим окошко с вводом буквы
if (guess === null) { // если нажата отмена
break; // выходим из цикла, игра завершается
} else if (guess.length !== 1) { // если длина введенного текста больше 1 буквы
alert("Пожалуйста введите одну букву"); // выводим это сообщение
} else { // если все впорядке
for (var j = 0; j < word.length; j++) { // проходимся по каждой букве загаданного слова
if (word[j] === guess) { // если введенная буква совпадает с буквой из загаданного слова
answerArray[j] = guess; // подставляем ее в "зашифрованное" слово на место "_" нашей буквы
remainingLetter--; // уменьшаем счетчик, который указывает, сколько букв осталось угадать
}
}
}
}
alert(answerArray.join(" ")); // выводим то, что мы угадали
alert("Отлчно! Было загадано слово " + word); // выводим изначальное слово