/********************************************************************** Usage: let Somelet = new WordGuess("word"); Call methods on Somelet *********************************************************************/ function WordGuess(word) { let secretWord = word; let tries = 0; let guessedLetters = ""; let currentState; resetCurrentState(); // Method to set the object to a new word this.setWord = function(newWord) { secretWord = newWord; tries = 0; guessedLetters = ""; resetCurrentState(); }; // Return number of guesses, guessed letters or current state of word this.getTries = function() { return tries; }; this.getGuessedLetters = function() { return guessedLetters; }; this.getCurrentState = function() { return currentState.join(" "); }; // Method for guessing a letter this.guess = function(letter) { let found = false; guessedLetters = guessedLetters.concat(letter); tries++; for (let i = 0; i < secretWord.length; i++) { if (secretWord.charAt(i) == letter) { currentState[i] = letter; found = true; } } return found; }; // Resets the state of this word game function resetCurrentState() { currentState = secretWord.split(""); tries = 0; guessedLetters = ""; for (let i = 0; i < currentState.length; i++) { currentState[i] = "_"; } } }
Posted: March 20, 2023
Return to the snippets listing