var words = ["rainy","snowy","clouds","sun","hail","partycloudy","sleet","foggy","humid","arid"] var word = pickword(); var answerArray = setupAnswerArray(word); var remainingLetters = word.length while(remainingLetters > 0){ showPlayerProgress(answerArray) var guess = getguess() if(guess === null){ break } else if (guess.length !==1){ alert("Please guess a single letter") } else{ var correctguesses = updategamestate(guess, word, answerArray) remainingLetters -= correctguesses } } var pickword = function(){ words[Math.floor(Math.random() * words.length)] } var setupAnswerArray = function(word){ var answerArray = [] for(var i = 0; word.length; i++){ answerArray[i] = "_" } return answerArray } var showPlayerProgress = function(answerArray){ alert(answerArray.join("")); } var getguess = function(){ var guess = prompt("Guess a letter, or click cancel to stop") if (guess === null){ break } else if (guess.length !===1){ alert("Please enter a single letter") } else { updategamestate(guess, word, answerArray) } } var updategamestate = function(guess, word, answerArray){ for(var r; r < word.length; r++){ if(word[r] === guess ){ answerArray[r] = guess remainingLetters-- } var showanswerandcongratulateplayer = function(answerArray){ alert(answerArray.join("")); }