Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafio logica de programacion

// Generar un número aleatorio entre 1 y 1000 let numeroSecreto = Math.ceil(Math.random() * 1000);

// Definir el número máximo de intentos let maximosIntentos = 10; // Puedes ajustar este valor según lo que necesites let intentos = 0;

// Bucle para que el usuario adivine el número while (true) { let numeroUsuario = parseInt(prompt("Adivina el número secreto (entre 1 y 1000):"));

if (numeroUsuario < numeroSecreto) {
    alert('El número secreto es mayor');
} else if (numeroUsuario > numeroSecreto) {
    alert('El número secreto es menor');
}

// Verificamos si el usuario adivinó el número *antes* de incrementar los intentos
if (numeroUsuario == numeroSecreto) {
    alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`);
    break; // Salimos del bucle porque el usuario ha ganado
}

intentos++;

if (intentos > maximosIntentos) {
    alert(`Llegaste al número máximo de ${maximosIntentos} intentos. El número era ${numeroSecreto}`);
    break; // Salimos del bucle porque se alcanzó el límite de intentos
}

}

1 respuesta

Entre las mejoras que coloque fueron:

  1. Solicitar al usuario un numero aleatorio multiplo de 5 que sea entre 5 y 100.
  2. Al inicio da la bienvenida e indica el numero de intentos que se tiene
  3. Se adiciono una condicion para evitar que el usuario coloque una letra, un numero que no sea multiplo de cinco, un numero que no sea mayor o igual a 5 o menor o igual a 100.
let numeroSecreto = Math.floor(Math.random() * 20) * 5 + 5;
let intentos = 1; 
const maximosIntentos = 3;
let numeroUsuario = 0;

console.log(`Numero secreto (para pruebas): ${numeroSecreto}`);

alert("¡Bienvenido al juego del numero secreto! Tienes 3 intentos para adivinar un numero multiplo de 5 entre 5 y 100.");

while (intentos <=  maximosIntentos){
  let inputUsuario = prompt(`Intento ${intentos} de ${maximosIntentos}. Ingresa un numero multiplo de 5 entre 5 y 100:`);
  numeroUsuario = parseInt(inputUsuario);
  
  // Validar si el input es un numero valido entre 5 y 100 y multiplo de 5
  if (isNaN(numeroUsuario) || numeroUsuario < 5 || numeroUsuario > 100 || numeroUsuario % 5 != 0) {
    alert("Por favor, ingresa un numero valido multiplo de 5 entre 5 y 100.");
    continue; // Volver a pedir el numero sin contar como intento
  }
  
  if (numeroUsuario == numeroSecreto){ 
        alert (`Acertaste, el numero es: ${numeroUsuario}. Lo lograste en ${intentos} ${intentos == 1 ? 'intento' : 'intentos'}`);
      break;

  } else {
      alert(`El numero secreto es ${numeroUsuario > numeroSecreto ? "menor" : "mayor"}.`)
      
      intentos++;

  }

  if (intentos > maximosIntentos){
    alert(`¡Agotaste tus ${maximosIntentos} intentos! El número secreto es: ${numeroSecreto}.`);
    break;
    }
  }