Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

[Proyecto] Desafío final

Buen día; comparto mi código del Desafío Final, por si alguien gusta probarlo.

Además de la mejora que hacen los instructores, agregué unas líneas para que el programa le solicite al usuario mismo un número máximo para adivinar. Y que el programa mismo, de un número máximo de intentos aleatorio, menor o igual que 10, para que se vuelva más interesante. Sugerencias, comentarios, con gusto son recibidos.

//Variable para que el sistema le pida al mismo usuario un número máximo para adivinar
let numeroFinal = parseInt(prompt('¿cuál será el número máximo para adivinar? Debe ser mayor a 10 unidades'));


//Declaración de Variables para que la función While pueda leerlas
let numeroSecreto = Math.floor(Math.random()*numeroFinal)+1; //Generación de número pseudoaleatorio
let numeroUsuario = 0;
let intentos = 1; //variable para declarar los intentos que hace el usuario
//Variable aleatoria para que el mismo sistema le de un número de intentos al usuario, menor o igual que 10
let maximoIntentos = Math.floor(Math.random()*10)+1;
alert(`El sistema te ha asignado: ${maximoIntentos} ${maximoIntentos == 1 ? 'intento' : 'intentos'}, ¡Suerte!`);
console.log(`Número de intentos permitidos: ${maximoIntentos}`)
console.log(`El número secreto es: ${numeroSecreto}`); //saber el número que el sistema asigna aleatoriamente

/*Función para hacer un bucle o lazo, para que el sistema trabaje
hasta que la condición no se cumpla */

while (numeroUsuario != numeroSecreto){
    numeroUsuario = parseInt(prompt(`Me indicas un número entre 1 y ${numeroFinal} por favor:`));

        console.log(typeof(numeroUsuario));

        //Condicionales anidados, una condición dentro de otra condición
        if (numeroUsuario == numeroSecreto) {
            //Acertamos, fue verdadera la condición
            //Utilizando operador terniario ? y :
            alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`);
        } else {
            if (numeroUsuario > numeroSecreto) {
                alert('El número secreto es menor');
            } else {
                alert('El número secreto es mayor');
            }
            
            /*Incrementa el contador si el número no es correcto,
            aumenta si la condición no se cumple*/
            // intentos = intentos + 1; Forma de contador #1
            // intentos += 1; Forma de contador #2
            intentos++; //Forma de contador abreviada, más usada
            
            /*Si la condición no se cumple, se tendra un segundo intento, por lo que
            la palabra cambiara a veces*/
            // palabraVeces = 'veces';
            
            if (intentos > maximoIntentos) {
                alert(`Llegaste al número máximo de ${maximoIntentos} intentos`);
                break; /*Esta función detiene el while cuando se
                cumple la condición dada en el if antes del break*/
            }
            
        }
    }

Nota: Utilizó muchos comentarios porque soy nuevo en esto, me ayudan a comprender mejor las funciones, sintaxis, etc.