В данный момент вы переходите от 0
к длине выбранного слова. Я предполагаю, что вы пытаетесь проверить, находится ли данная буква в выбранном слове, но логика c, к сожалению, отключена.
Чтобы проверить, содержит ли строка букву или часть слова, Вы можете использовать метод String.includes()
. У каждой строки есть этот метод, и с его помощью вы можете проверить, включена ли данная строка в вашу строку, и сравнить ее с ней. Затем он вернет true или false в зависимости от того, включена строка или нет. Например:
var example = 'hello';
example.includes('h'); // true
example.includes('i'); // false
JavaScript чувствительно к регистру. Таким образом, чтобы ваша игра работала и вводил пользователя неоднозначно в отношении прописных или строчных букв, убедитесь, что все ваши secretWords
написаны либо строчными, либо прописными буквами, в зависимости от вашего выбора. Затем, когда пользователь вводит данные, снова измените ввод на прописные или строчные, используя методы String.toUpperCase()
и String.toLowerCase()
.
var secretWords = ["batman", "donkey kong", "ninja", "programming"];
var chosenWord = secretWords[Math.floor(Math.random()*secretWords.length)];
var guesses = 8;
var letters = chosenWord.length
alert(chosenWord);
var guess = prompt("GUESS A LETTER");
var guessLowerCase = guess.toLowerCase();
var isGuessedLetterInWord = chosenWord.includes(guessLowerCase);
if (isGuessedLetterInWord) {
alert('nice');
} else {
alert('wrong');
}