Here is my complete working code. It successfully selects random strings from each of the first two variable arrays, but I need each of these random selections to correspond so that when "word a" is selected, we automatically get "image a.png" as well.
Is there a way to get these "option" arrays to talk to each other? Or a way to bundle the contents from one in the other so that "word a" automatically calls "image a.png" and so on? The specific syntax required to achieve this would be most appreciated!
var wordOptions = ["a","b","c","d","e"];
var imageOptions = ["a.png","b.png","c.png","d.png","e.png"];
var selectedWord = "";
var selectedImage = "";
var lettersinWord = [];
var numBlanks = 0;
var blanksAndSuccesses = [];
var wrongLetters = [];
var winCount = 0;
var lossCount = 0;
var remainingGuesses = 10;
function startGame() {
selectedWord = wordOptions[Math.floor(Math.random() *
wordOptions.length)];
lettersinWord = selectedWord.split("");
numBlanks = lettersinWord.length;
remainingGuesses = 10;
wrongLetters = [];
blanksAndSuccesses = [];
for (var i = 0; i < numBlanks; i++) {
blanksAndSuccesses.push("_");
}
document.getElementById("currentword").innerHTML =
blanksAndSuccesses.join(" ");
document.getElementById("guessesremaining").innerHTML =
remainingGuesses;
document.getElementById("wins").innerHTML = winCount;
document.getElementById("losses").innerHTML = lossCount;
}
function checkLetters(letter) {
var isletterInWord = false;
for (var i = 0; i < numBlanks; i++) {
if (selectedWord[i] == letter) {
isletterInWord = true;
}
}
if (isletterInWord) {
for (var i = 0; i < numBlanks; i++) {
if(selectedWord[i] == letter) {
blanksAndSuccesses[i] = letter;
}
}
}
else {
wrongLetters.push(letter);
remainingGuesses--
}
}
function roundComplete() {
document.getElementById("guessesremaining").innerHTML =
remainingGuesses;
document.getElementById("currentword").innerHTML =
blanksAndSuccesses.join(" ");
document.getElementById("lettersguessed").innerHTML =
wrongLetters.join(" ");
if (lettersinWord.toString() == blanksAndSuccesses.toString()) {
winCount++;
selectedImage = imageOptions[Math.floor(Math.random() *
imageOptions.length)];
document.getElementById("image").src = selectedImage;
document.getElementById("you").innerHTML = "YOU!";
var titleWins = selectedWord.toUpperCase();
document.getElementById("titlewins").innerHTML = titleWins;
document.getElementById("wins").innerHTML = winCount;
startGame();
}
else if (remainingGuesses == 0) {
lossCount++;
alert("You Lose!");
document.getElementById("losses").innerHTML = lossCount;
startGame();
}
}
startGame();
document.onkeyup = function(event) {
var letterGuessed = String.fromCharCode(event.keyCode).toLowerCase();
checkLetters(letterGuessed);
roundComplete();
}