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

[Sugerencia] Solucion para el desafio Logica de Programacion

En esta solucion se permite que el usuario pueda interactuar con la cantidad de intentos posibles.

let numeroMaximo = parseInt(prompt("dime cuantos numero quieres adivinar"))

let numeroSecreto = Math.floor(Math.random()*numeroMaximo)+1; let numeroUsuario = 0 let bandera = true let contadorUsuario=1 let maximosIntentos =3;

while(bandera){ let numeroUsuario = parseInt( prompt("indicame un numero por favor entre el 1 y el "+ numeroMaximo));

if(numeroSecreto== numeroUsuario){ alert(acertaste, el numero secreto es: ${numeroUsuario} su numero de intentos es de: ${contadorUsuario} ${contadorUsuario==1 ? "intento": "intentos"} ) bandera = false }else{ if(numeroUsuario>numeroSecreto){ alert(el numero secreto es menor que ${numeroUsuario}) }else{ alert(el numero secreto es mayor que ${numeroUsuario}) } alert("no acertaste el numero secreto") contadorUsuario++ if (contadorUsuario>3){ alert("Llegaste a la cantida maximo de intentos que eran: "+ maximosIntentos +" intentos") break; } } console.log(numeroUsuario) }

1 respuesta

Hola Sebastián,

¡Gracias por compartir tu solución! Me parece una manera divertida e interactiva de implementar un juego de adivinanza de números. He notado que en tu código tienes un pequeño detalle que podrías considerar ajustar para mejorar la claridad y el funcionamiento del programa.

En tu ciclo while, estás declarando nuevamente la variable numeroUsuario dentro del ciclo, lo cual no es necesario ya que ya la has declarado fuera del ciclo. Puedes simplemente asignarle el nuevo valor sin volver a declararla. Aquí te dejo una pequeña modificación:

let numeroMaximo = parseInt(prompt("dime cuantos numero quieres adivinar"));

let numeroSecreto = Math.floor(Math.random() * numeroMaximo) + 1;
let numeroUsuario = 0;
let bandera = true;
let contadorUsuario = 1;
let maximosIntentos = 3;

while (bandera) {
  numeroUsuario = parseInt(prompt("indicame un numero por favor entre el 1 y el " + numeroMaximo));
  
  if (numeroSecreto == numeroUsuario) {
    alert(`acertaste, el numero secreto es: ${numeroUsuario} su numero de intentos es de: ${contadorUsuario} ${contadorUsuario == 1 ? "intento" : "intentos"}`);
    bandera = false;
  } else {
    if (numeroUsuario > numeroSecreto) {
      alert(`el numero secreto es menor que ${numeroUsuario}`);
    } else {
      alert(`el numero secreto es mayor que ${numeroUsuario}`);
    }
    alert("no acertaste el numero secreto");
    contadorUsuario++;
    if (contadorUsuario > maximosIntentos) {
      alert("Llegaste a la cantidad máxima de intentos que eran: " + maximosIntentos + " intentos");
      break;
    }
  }
  console.log(numeroUsuario);
}

Esta pequeña modificación ayuda a mantener el código más limpio y fácil de seguir. Espero que encuentres útil esta sugerencia y que sigas disfrutando de la programación.

¡Espero haber ayudado y buenos estudios!