Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Botones deshabilitados al llenar la lista

Comparto algunas pequeñas modificaciones para evitar el error al ingresar nuevos valores, basicamente evitando el uso de los botones una vez llena la lista. Se debe asignar el id "intentar" al botón de intentos desde el HTML:

let numeroSecreto = 0;
console.log(numeroSecreto);
let intentos = 0;
let listaNumerosSorteados = [];
let numeroMaximo = 10;
document.getElementById('intentar').removeAttribute('disabled');

function asignarTextoElemento(elemento, texto) {
    //elemento y texto son parámetros para hacer la función genérica 
    let elementoHTML = document.querySelector(elemento);
    elementoHTML.innerHTML = texto;
    return;
}

function verificarIntento() {
    let numeroDeUsuario = parseInt(document.getElementById('valorUsuario').value);
    console.log(intentos);
        if (numeroDeUsuario === numeroSecreto) {
          asignarTextoElemento('p', `Acertaste el número secreto en ${intentos} ${(intentos === 1) ? 'vez' : 'veces'}`);
          document.getElementById('reiniciar').removeAttribute('disabled');
          
        } else {
          //el usuario no acertó
         if (numeroDeUsuario > numeroSecreto) {
         asignarTextoElemento('p', 'El número secreto es menor');
         } else {
          asignarTextoElemento('p', 'El número secreto es mayor');
          }
          intentos++;
          limpiarCaja();
        }
    return;
}

function limpiarCaja(){
  // No es necesario hacerlo así:
  // let valorCaja = document.querySelector('#valorUsuario');
  //valorCaja.value = '';
  document.querySelector('#valorUsuario').value = '';
}

function generarNumeroSecreto() {
    let numeroGenerado = Math.floor(Math.random()*numeroMaximo)+1;
    console.log(numeroGenerado);
    console.log(listaNumerosSorteados);
    //si ya todos los números posibles fueron sorteados
    if(listaNumerosSorteados.length == numeroMaximo){
      asignarTextoElemento('p','Ya se sortearon todos los números posibles');
      document.getElementById('intentar').setAttribute('disabled','true');
    } else {
        //si el número generado está 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', `Indica un número del 1 al ${numeroMaximo}`);
  numeroSecreto = generarNumeroSecreto();
  console.log(numeroSecreto);
  intentos = 1;
}

function reiniciarJuego(){
  //limpiar caja
  limpiarCaja();
  //indicar mensaje de inicio
    //Generar número aleatorio
  //deshabilitar botón de nuevo juego
  condicionesIniciales();
  //Iniciar el número de intentos
  document.querySelector('#reiniciar').setAttribute('disabled','true');
  
}

  condicionesIniciales();
1 respuesta
solución!

¡Estimado estudiante!

Aprecio tu participación en el foro. Quiero recordarte que este espacio está pensado principalmente para aclarar dudas y hacer preguntas. No es necesario compartir cada actividad detalladamente.

¡Gracias por tu comprensión y por contribuir a hacer del foro un lugar enfocado en el intercambio útil y constructivo! Si prefieres discutir o compartir comentarios sobre el contenido te invitamos a unirte a nuestra comunidad en Discord.

Saludos.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!