Back to Game

Word Guessing - Source Code

Play Game
JavaScript
const words = ['JAVASCRIPT', 'PYTHON', 'REACT', 'NODEJS', 'HTML', 'CSS', 'ANGULAR', 'VUE'];
let currentWord = '';
let guessedWord = [];
let wrongGuesses = [];
let maxWrongGuesses = 6;

function initGame() {
  currentWord = words[Math.floor(Math.random() * words.length)];
  guessedWord = Array(currentWord.length).fill('_');
  wrongGuesses = [];
  updateDisplay();
}

function guessLetter(letter) {
  letter = letter.toUpperCase();
  
  if (currentWord.includes(letter)) {
    for (let i = 0; i < currentWord.length; i++) {
      if (currentWord[i] === letter) {
        guessedWord[i] = letter;
      }
    }
  } else {
    if (!wrongGuesses.includes(letter)) {
      wrongGuesses.push(letter);
    }
  }
  
  updateDisplay();
  checkGameEnd();
}

function updateDisplay() {
  document.getElementById('word-display').textContent = guessedWord.join(' ');
  document.getElementById('wrong-guesses').textContent = wrongGuesses.join(', ');
  document.getElementById('remaining-guesses').textContent = maxWrongGuesses - wrongGuesses.length;
}

function checkGameEnd() {
  if (guessedWord.join('') === currentWord) {
    alert('Congratulations! You won!');
    initGame();
  } else if (wrongGuesses.length >= maxWrongGuesses) {
    alert(`Game Over! The word was: ${currentWord}`);
    initGame();
  }
}

document.addEventListener('keydown', (event) => {
  const letter = event.key.toUpperCase();
  if (letter >= 'A' && letter <= 'Z') {
    guessLetter(letter);
  }
});

initGame();

This code demonstrates the core game logic. The actual implementation may include additional features and optimizations.