スーパーで新しいjavascript。私は霊感の推測ゲームを作ろうとしている。 onkeyup関数以外はすべてここで動作します。コンソールログを開いて文字を入力すると、userGuess変数が定義されていないことがわかります。 onkeyup関数と一致するようにuserGuess変数を定義するにはどうすればよいですか?onkeyup変数を定義するJavaScriptの推測ゲーム
ありがとう:
//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'を使ってユーザー入力をしようとしていますか?参照[_What is console.log_](http://stackoverflow.com/q/4539253/2950032) –
私はユーザー入力が登録されていたかどうかをテストするconsole.logを行っていました。 –
私はuserGuessをguessedLettersに表示される文字列にしようとしています。 userGuessはonkeyupイベントでなければなりません。 –