Soy muy principiante (solo si/si no, para, mientras, rebanada, etc.) y tengo un problema: así que escribí el juego Hangman. Necesito poner un código que diga "vamos a que el jugador adivine que la letra mayúscula se transforma en minúscula cada vez que pone una letra mayúscula".
var words = ["fish", "monkey", "pioni", "agreable"]; var randomWord = words[Math.floor(Math.random() * words.length)]; var answerArray = []; for (var i = 0; i < randomWord.length; i++) { answerArray[i] = "_"; } var ramainingLetters = randomWord.length; //Game circle while (ramainingLetters > 0) { alert(answerArray.join(" ")); var guess = prompt("Guess a letter or press cancel to exit game"); if (guess === null) { break; } else if (guess.length !== 1) { alert("Enter only one letter"); } else if (guess == guess.toUpperCase()) { guess = guess.toLowerCase(); } else { //renew game cycle for (var j = 0; j < randomWord.length; j++) { if (randomWord[j] === guess) { answerArray[j] = guess; ramainingLetters--; } } } // stop game } alert(answerArray.join(" ")); alert(" Cool! this word was " + randomWord);
Podrías resolver tu problema fácilmente convirtiendo la palabra elegida a mayúsculas y cada vez que el usuario ingrese una letra, ponla en mayúsculas también.
var randomWord = words[Math.floor(Math.random() * words.length)].toUpperCase();
Y convierte tu pregunta siempre a mayúsculas
guess = guess.toUpperCase();
De esta manera todo es consistente.
Si escriben una letra en minúsculas, se convierte a mayúsculas y se compara con la palabra también en mayúsculas.