我需要我的帮助,hangman game
如果玩家之前猜了重复的字母,我如何阻止生命下降,至于现在如果我运行它并且玩家猜测相同的字母,它会输出他已经做出了这个猜测但生命也在下降. 另外,如果玩家一直输入相同的正确字母,它会输出他已经猜对了,但在输入相同的字母 4-5 次后会说他赢了。
第一个错误:lives dropping even if players use letter that is guessed before
第二个错误:players input the same correct letter guessed and game will say he won after inputting 4-5 times
代码
guesses = [];
// Show player their progress | .join returned answer as a string
while (remainingLetters > 0 && lives > 0) {
(answerArray.join(""));
guess = readline.question(name+"'s guess (Enter 9 for lifelines or 0 to pass): ");
guess = guess.toUpperCase();
//if guess is more than 1 letter or no letter, alert player to guess 1 letter only
if (guess.length !== 1) {
console.log("Please enter 1 letter only.");
}
//if valid guess
else {
correctGuess = 0;
for (var j = 0; j < Word.length; j++) {
if (Word[j] == guess) {
answerArray[j] = guess;
remainingLetters--;
correctGuess = 1;
}
}
if (correctGuess == 1) {
console.log("\nGood job! "+guess+" is one of the letters!\n");
console.log(JSON.stringify(answerArray)+"\n");
console.log(JSON.stringify(alphabets)+"\n");
} else {
lives -= 1;
console.log("\nSorry. "+guess+" is not a part of the word.\n");
console.log(JSON.stringify(answerArray)+"\n");
console.log(JSON.stringify(alphabets)+"\n");
console.log("You have "+lives+" lives remaining.\n");
}
if (guesses.includes(guess)) {
console.log("You have already made this guess, please try another letter!\n");
} else {
guesses.push(guess)
}
}
if (remainingLetters == 0) {
console.log("Congratulation! You managed to guess the word!\n");
break;
}
if (lives == 0) {
console.log("Game Over... You failed to guess the word. The word is "+Word+".\n")
}
}
ibeautiful
相关分类