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

[Proyecto] Propuesta para resolver el desafio, del 1 al 100

Mi solución para resolver el desafio de adivina el número del 1 al 100, fue la siguiente: Me puse a pensar y que adivinar un numero dentro de ese rango sería demasiado difícil para una persona, ya que son 1 entre 100 posibilidades, entonces cambié la forma de darle pistas al usuario, en vez de decir si el numero ingresado era incorrecto y el número secreto es "mayor" o "menor", lo que hice fue crear un rango determinado aleatoriamente para darle una pista al usuario Eh aquí el código:

let numeroSecreto = Math.floor(Math.random()*100);
let numeroUsuario = 0;
let intentos = 1;
let maxIntentos = 5;
/*Estas variables fueron hechas para mostrar el rango en el que se encuentra el numero Secreto
Ya que sería muy dificil adivinar un numero de 1 al 100, para tener un rango de referencia*/
let numeroAleatorio = Math.floor(Math.random()*numeroSecreto);
let valorTope = 0;
let valorMinimo = 0;


while(numeroUsuario != numeroSecreto)
{
    //Aquí se opera el numero secreto con el numero aleatorio para crear los rangos aleatoriamente
    valorTope = numeroSecreto+numeroAleatorio;
    valorMinimo = numeroSecreto-numeroAleatorio;

    /*Estos condicionales los hice por si se daba la situación que la resta o suma de los rangos fueran menores a 0
    o mayores a 100 respectivamente*/
    if(valorMinimo <=0){
        valorMinimo = 1;
    }

    if(valorTope >=100){
        valorTope = 100;
    }

    if(valorMinimo == valorTope){
        valorMinimo = valorMinimo+3;
        valorTope = valorTope+3;
    }

    numeroUsuario = parseInt(prompt("Ingresa un numero del 1 al 100"));

    if(numeroUsuario == numeroSecreto)
    {
        alert("Felicidades, adivinaste el  número!");
    }else{
        //Aquí eliminé si un numero era mayor o menor, para solo mostrar el rango del numero secreto
        if(numeroUsuario != numeroSecreto){
            alert(`Fallaste, el numero secreto está entre: ${valorMinimo} y ${valorTope}`);
        }
    }
    intentos++;
    /*cuando se alcance los dos intentos, se le restará 10 al numero aleatorio para reducir el rango y sea mas
    facil resolverlo*/
    if(intentos > 2)
    {   
        numeroAleatorio = numeroAleatorio-10;
    }
    if(intentos > maxIntentos)
    {
        alert(`Lo siento, alcanzaste el máximo de ${maxIntentos} intentos,`);
        break;
    }
}
1 respuesta

Hola Alan, ¡espero que estés bien!

Nos alegra que estés aprendiendo este contenido y logrando realizar las actividades. ¡No veo nada que sugerir ahora, entonces éxito en los estudios!

Cualquier duda del contenido puede utilizar nuestro foro de la plataforma para preguntar.

Anexo: el foro se centra en las dudas de contenido y actividad, ¡pero apreciamos sus resultados! Te sugiero que compartas tus resultados en el canal de principiante en programación en lo servidor en Discord.

¡Vamos juntos!

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