슈퍼 자바 스크립트에 새. 나는 심령 추측 게임을 만들려고 노력하고있다. onkeyup 함수를 제외한 모든 것은 여기서 작동합니다. 콘솔 로그를 열고 문자를 입력하면 userGuess 변수가 정의되지 않았 음을 알 수 있습니다. onkeyup 함수와 일치하도록 userGuess 변수를 어떻게 정의합니까?onkeyup 변수를 정의하는 자바 스크립트 추측 게임
감사 :
//Available choices
var letterChoices = ['a', 'b', 'c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
//score
var wins = 0;
var losses = 0;
var guesses = 9;
var guessesLeft = 9;
var guessedLetters = [];
var letterToGuess = null;
//computer randomly chooses a letter
var computerGuess = letterChoices [Math.floor(Math.random()*letterChoices.length)];
//guesses left function
var updateGuessesLeft = function() {
document.querySelector('#guessLeft').innerHTML = "Guesses Left: " + guessesLeft;
};
//letter to guess function
var updateletterToGuess = function(){
this.letterToGuess = this.letterChoices[Math.floor(Math.random() * this.letterChoices.length)];
};
var updateGuessesSoFar = function(){
document.querySelector('#let').innerHTML = "Your guesses so far: " + guessedLetters.join(', ');
};
//reset
var reset = function(){
totalGuesses = 9;
guessesLeft = 9;
guessedLetters = [];
updateletterToGuess();
updateGuessesSoFar();
updateGuessesLeft();
};
updateGuessesLeft();
updateletterToGuess();
//user input key
document.onkeyup = function(event) {
guessesLeft--;
var userGuess;
console.log(userGuess)
guessedLetters.push(userGuess);
updateGuessesLeft();
updateGuessesSoFar();
if (guessesLeft > 0){
if (userGuess === letterToGuess){
wins++;
document.querySelector('#wins').innerHTML = 'Wins: ' + wins;
alert("How did you know!?!");
reset();
}
} else if (guessesLeft == 0){
losses++;
document.querySelector('#losses').innerHTML = 'Losses: ' + losses;
alert("Sorry, you're not a psychic!");
reset();
}
}
당신은 var userGuess를하고 있습니다; console.log (userGuess);'. 그러므로 변수'userGuess'는'undefined'입니다. 당신은'console.log'를 사용하여 사용자 입력을 시도합니까? See [_What is console.log_] (http://stackoverflow.com/q/4539253/2950032) –
사용자 입력이 등록되고 있는지 테스트하기 위해 console.log를하고있었습니다. –
userGuess가 guessedLetters에 표시되는 문자열이되도록하려고합니다. userGuess는 onkeyup 이벤트 여야합니다. –