<script>
// Объявляем правила игры.
alert("Добро пожаловать в игру Висилица, она давольно проста, нужно отгадать слово, вводя буквы")
// Создаём массив из которого в будущем будем выбирать слово.
var words = ["Мир", "Мечта", "Дорога", "Сложна"];
// Рандомно выбираем слово.
var word = words[Math.floor(Math.random() * words.length)].toLowerCase();
// Создаём массив в котором заменяем буквы в слове на " _ "
var crossedOutLettersInAWord = [];
for (var i = 0; i < word.length; i++) {
crossedOutLettersInAWord[i] = " _ ";
}
// Создаём цикл который создает переменную и присваивает ей значение равное подядковому символу из выбранного слова.
// это нужно для будущего сравнения, если введён символ которого нет в слове будет сгорать колличество попыток.
for (var g = 0; g < word.length; g++){
eval("var id_"+g+"="+g);
id_0 = word[0];
id_1 = word[1];
id_2 = word[2];
id_3 = word[3];
id_4 = word[4];
id_5 = word[5];
id_6 = word[6];
id_7 = word[7];
}
// Создаём переменную с числом букв в выбранном слове.
var longWord = word.length;
// Создаём переменную в которой " _ " изменяет на угаданный символ.
var wordGuessedLetters = crossedOutLettersInAWord;
// Создаём переменную с колличеством попыток.
var numberOfAttempts = 5;
// Вступление перед началом игры.
alert("Слово состоит из " + "''" + longWord + "''" + " букв " + crossedOutLettersInAWord.join(" ") + " и у Вас есть " + numberOfAttempts + " попыток!");
// Создаём цикл который выполняется при условии что количество попыток больше нуля, и колличество букв в слове больше " 0 "
// При каждой угадданой букве число букв в слове будет уменьшаться.
// При каждой не угаданной букве будет уменьшаться число попыток.
while ((numberOfAttempts !== 0) && (longWord > 0)) {
// Создаём переменую которая при помощи функции запрашивает ввести символ который присваивается переменной и при помощи метода переводит символ в нижний риестр.
var guess = prompt("Укажите пожалуйста одну букву из загаданного слова").toLowerCase();
// Проверяем на " Отмену " если была нажата отмена то цикл завершается.
if (guess === null) {
break;
// Проверяем на колличество введёных символов если ведено больше 1 символа просим ввести 1.
} else if (guess.length !== 1) {
alert("Пожалуйста введите только одну букву!");
// Создаём цикл который Проверяет есть ли введёный символ в выбраном слове.
} else {
for (var p = 0; p < word.length; p++) {
// В случае если введёный символ введён повторно просим ввести символ повторно
if ( guess === wordGuessedLetters[p]) {
alert("Такая буква уже отгадана попробуй другую!")
break;
}
// В случае если такой символ есть убираем одну букву
if ( guess === word[p]) {
wordGuessedLetters[p] = guess;
longWord--;
restOfLetter = longWord;
}
}
// Создаём цикл который проверяет введёный символ с каждой из созданых переменных которая содержит одну букву из выбранного слова.
for (var c = 0; c < 1; c++) {
if (id_0 === guess || id_1 === guess || id_2 === guess || id_3 === guess || id_4 === guess || id_5 === guess || id_6 === guess || id_7 === guess){
alert("Вы отгадали букву!!! " + wordGuessedLetters.join(" ") + " колличество ваших попыток = " + numberOfAttempts)
break;
// Если при введёный символ не соответствует ни одному значению из переменных убираем одну попытку.
} else {
numberOfAttempts--;
alert("Увы такой буквы в слове " + wordGuessedLetters.join(" ") + " нет, колличество ваших попыток = " + numberOfAttempts)
break;
}
}
}
}
// Если слово отгадано выводим поздрравление!
if (longWord == 0){
alert("Вы отгадали все " + "''" + word.length + "''" + " букв в слове " + wordGuessedLetters.join(" ") + " и у Вас в запасе осталось ещё " + numberOfAttempts + " попыток!");
}
// Если слово неотгадано выводим попробуйте заново!
else {alert("У вас закончились попытки и слово не отгаданно попробуйте заново")}
</script>
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.