let lettersOfTheWord =["W",'H','A','T','E','V','E','R'];
let guessedLetters = lettersOfTheWord.map(()=>'_');
var count=0;
function guessLetter(letter){
for(let i=0; i<lettersOfTheWord.length;i++){
if (letter===lettersOfTheWord[i] && guessedLetters[i]==='_'){
guessedLetters[i]=letter;
console.log("You entered:" + letter);
console.log(`The current guessed letters: ${guessedLetters.toString()}`);
console.log("Congradulations! You found a new letter.");
count++;
console.log(count);
}
if (letter!==lettersOfTheWord[i] && guessedLetters[i]!=='_'){
console.log("wrong letter");
}
}
if (count===lettersOfTheWord.length){
console.log("you win");
}
}
guessLetter("W");
guessLetter("H");
guessLetter("A");
guessLetter("T");
guessLetter("E");
guessLetter("H");
guessLetter("E");
guessLetter("R");
So I have changed my code now. The new problem is what if I would like to print out the "wrong letter" information if the call function has a wrong argument?
let lettersOfTheWord =['F','O','X',"X"];
let guessedLetters = [];
let generateUnderScore = function(word){
for (let i =0; i<word.length; i++){
guessedLetters.push("_");
}
//console.log(guessedLetters.toString());
return guessedLetters;
} //to generate underscore.
generateUnderScore(lettersOfTheWord);
let guessLetter =function(letter){
for (let i=0; i<lettersOfTheWord.length;i++){
if (letter===lettersOfTheWord[i]){
let index=lettersOfTheWord.indexOf(letter);
guessedLetters[index]=letter;
console.log(guessedLetters);
}
}
console.log("You entered:" + letter);
console.log(`The current guessed letters: ${guessedLetters.toString()}`);
console.log("Congradulations! You found a new letter.")
}
guessLetter("F");
guessLetter("O");
guessLetter("X");
guessLetter("X");
This is what my code looks like, for the last function call guessLetter("X"), I would like the output to be something like:
You entered:X
The current guessed letters: F,O,X,X
Congratulations! You found a new letter.
However, it ends up with:
You entered:X
The current guessed letters: F,O,X,_
Congratulations! You found a new letter.
I noticed the duplicate of letter "X" was not replaced, but how do I fix this problem? Thank you so much!