Я новичок в JavaScript и пытаюсь закодировать эту игру Hangman, но у меня проблемы. То, что я должен далеко следующее:Trigger function on click for hangman game
Мой HTML:
<div class="col-md-4">
<div id="placeHolder">_ _ _ _ _ _</div>
<div id="gamestatus"></div>
<input type="text" size="1" id="letterGuess" maxlength="1">
<button id="button" onclick="guess()">Press to start</button>
</div>
Мои JavaScript:
var dictionary = ['music', 'mountain', 'forest', 'florida', 'sweden', 'golf'];
var wordUsed, input, placeHolder;
function startGame()
{
placeHolder = "";
var totalGuesses = 10;
wordUsed = dictionary[Math.floor(Math.random() * dictionary.length)];
console.log(wordUsed);
var buttonText = document.getElementById("button").innerHTML = "Guess";
for(var i = 0; i < wordUsed.length; i++)
{
placeHolder += "_ ";
}
document.getElementById("placeHolder").innerHTML = placeHolder;
document.getElementById("gamestatus").innerHTML = "Game is in progress.";
}
function guess()
{
var correctGuess = false;
var ip = document.getElementById("letterGuess");
input = ip.value;
for(var i = 0; i < wordUsed.length; i++)
{
if(input == wordUsed.substring(i, i + 1))
{
correctGuess = true;
placeHolder = placeHolder.substring(0, i) + input + placeHolder.substring(i + 1, placeHolder.length + 1);
document.getElementById("placeHolder").innerHTML = placeHolder;
}
}
if(!correctGuess)
{
totalGuesses--;
}
if(placeHolder == wordUsed)
{
alert("You WIN!");
}
if(totalGuesses == 0)
{
alert("You LOSE!")
startGame();
}
}
startGame();
document.getElementById("button").onclick = guess;
Таким образом, код правильно выбрать слово и поместить правильное количество подчеркиваний в местах букв; но ничего не происходит, когда я запускаю свой код. Я мог бы пересмотреть что-то очень простое, и было бы очень полезно, если бы кто-нибудь мог указать, что не так с кодом/логикой.
Также будут оценены любые другие советы о том, как улучшить код/логику! Благодарю.
Я исправил буквуGuess-ошибку и удалил onclick = "" с