Hola compañeros, si me pueden ayudar por favor, no se que tengo mal en el codigo que el numero secreto siempre es 0, si a 'let numeroSecreto = 0;' lo cambio a 'let numeroSecreto;' en la consola me sale como undefined. Además, los intentos los cuenta desde 0 también, por lo que si intento (ejemplo) 3 veces me dice que fueron 2 intentos. Si ven algún otro detalle, bienvenido sea el comentario, todo me ayuda a mejorar.
let numeroSecreto = 0; let intentos = 0; let maximosIntentos = 3; let listaNumerosSorteados = []; let numeroMaximo = 10;
console.log(numeroSecreto);
let parrafo = document.querySelector('p');
parrafo.innerHTML = Indica un número del 1 al ${numeroMaximo}
;
function asignarTextoElemento(elemento, texto) { let elementoHTML = document.querySelector(elemento); elementoHTML.innerHTML = texto; return; } function verificarIntento() { let numeroDeUsuario = parseInt(document.getElementById('valorUsuario').value);
if(numeroDeUsuario === numeroSecreto) {
asignarTextoElemento('p', `Acertaste el número en ${intentos} ${intentos === 1 ? 'vez' : 'veces'}`);
document.getElementById('reiniciar').removeAttribute('disabled');
} else {
if(intentos === maximosIntentos) {
document.querySelector('#reiniciar').removeAttribute('disabled', 'true');
asignarTextoElemento('p',`Alcanzaste el maximo de ${maximosIntentos} intentos`);
asignarTextoElemento('h1', 'Gracias por participar de nuestro juego del numero secreto.');
} else {
//el usuario no acertó
if(numeroDeUsuario > numeroSecreto) {
asignarTextoElemento('p', 'El numero secreto es menor');
} else {
asignarTextoElemento('p','El numero secreto es mayor');
}
limpiarCaja();
}
intentos++
return;
} }
function limpiarCaja() { document.querySelector('#valorUsuario').value ='';
}
function generarNumeroSecreto() { let numeroGenerado = Math.floor(Math.random()*numeroMaximo) +1;
console.log(numeroGenerado);
console.log(listaNumerosSorteados);
//si ya sorteamos todos los numeros
if (listaNumerosSorteados.length == numeroGenerado) {
asignarTextoElemento('p', 'Ya se sortearon todos los numeros posibles');
} else {
//si el numero generado esta incluido en la lista
if(listaNumerosSorteados.includes(numeroGenerado)) {
return generarNumeroSecreto();
} else {
listaNumerosSorteados.push(numeroGenerado);
return numeroGenerado;
}
}
}
function condicionesIniciales() {
asignarTextoElemento('h1', 'Juego del número secreto');
asignarTextoElemento('p', Indicame un número del 1 al ${numeroMaximo}
);
}
function reinciarJuego() { //limpiar caja limpiarCaja(); //indicar mensaje de intervalo de numeros condicionesIniciales(); //generar el numero aleatorio numeroSecreto = generarNumeroSecreto(); //inicializar el numero de intentos intentos = 1; //deshabilitar el boton de nuevo juego document.querySelector('#reiniciar').setAttribute('disabled', 'true');
}
condicionesIniciales();