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

[Sugerencia] PROPUESTA del Desafío: 02. Condicionales y concatenación

Les comparto mi solución del desafío de "'02. Condicionales y concatenación". En este desafío realice muchas mejoras para que el sistema sea eficiente. Cualquier duda o sugerencia estaré encantado de ayudarle. Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidadPor si desean tener el código:

//OjO -> Desafio 3: Sistema de puntuacion
let estado3 = false;
function calcularPuntos(puntuacion1, puntuacion2) {
    let totalPuntuacion = 0;
    totalPuntuacion = puntuacion1 + puntuacion2;

    if (totalPuntuacion >= 100) {
        alert(`¡Felicidades, has ganado!\n
        ${totalPuntuacion}/100`);
        estado3 = true;
    } else {
        estado3 = false;
        alert(`Intentalo nuevamente para ganar.
        \nTuviste errores. ${totalPuntuacion}/100`);
    }

}
//OjO -> Desafio 1:
// Funcion para normalizar la respuesta que de el usuaurio
function normalizar(respuesta) {
    // toLowerCase para convertir la cenada en minuscula
    // el normalize para descomponer los caracteres acentuados en basicos
    // replace eliminar los caracateres de acento
    return respuesta.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "");
}
//OjO -> Desafio 1
while (estado3 == false) {
    let estado = false;
    //OjO -> Desafio 3: Sistema de puntuacion
    let puntuacionDsf1 = 50;
    //! FIN Desafio 3
    while (estado == false) {
        let rspt = normalizar(prompt("DESAFIO 1: \n¿Qué día de la semana es?"));
        switch (rspt) {
            case "lunes":
                alert("Buen inicio de semana");
                estado = true;
                break;
            case "martes":
                alert("Feliz martes");
                estado = true;
                break;
            case "miercoles":
                alert("Mitad de semana");
                estado = true;
                break;
            case "jueves":
                alert("Casi viernes");
                estado = true;
                break;
            case "viernes":
                alert("¡Es viernes!");
                estado = true;
                break;
            case "sabado":
                alert("Disfruta tu sábado");
                estado = true;
                break;
            case "domingo":
                alert("Que tengas un buen domingo");
                estado = true;
                break;
            default:
                //OjO -> Desafio 3: Sistema de puntuacion
                if (puntuacionDsf1 > 0) {
                    puntuacionDsf1 -= 10
                    console.log(puntuacionDsf1);
                } else {
                    console.log(puntuacionDsf1);
                }
                //! FIN Desafio 3:

                estado = false;
                alert("ERROR. Intente nuevamente [-10 puntos]");
                break;
        }
    }

    //OjO -> Desafio 2:
    let estado2 = false;

    //OjO -> Desafio 3: Sistema de puntuacion
    let puntuacionDsf2 = 50;
    //! FIN Desafio 3

    while (estado2 == false) {
        let numUser = prompt('DESAFIO 2:\nIngrese un número para determinar si es positivo o negativo');
        if (numUser > 0) {
            alert(`El número ${numUser} es POSITIVO.`);
            estado2 = true;
        } else if (numUser < 0) {
            alert(`El número ${numUser} es NEGATIVO.`);
            estado2 = true;
        } else if (numUser == 0) {
            alert(`El número ${numUser} es NEUTRO.`);
            estado2 = true;
        } else {

            //OjO -> Desafio 3: Sistema de puntuacion
            if (puntuacionDsf2 > 0) {
                puntuacionDsf2 -= 10
                console.log(puntuacionDsf2);
            } else {
                console.log(puntuacionDsf2);
            }
            //! FIN Desafio 3:

            estado2 = false;
            alert(`ERROR. "${numUser}" no es un número. Intente nuevamente [-10 puntos]`);
        }
    }

    //OjO -> Desafio 4:
    let saldoCuenta = 5900;
    alert(`El valor de su saldo es: S/${saldoCuenta}`);

    //OjO -> Desafio 5:
    let nombre = prompt('Ingrese su nombre');
    alert(`Bienvenido al desafio ${nombre}`);

    //OjO -> Desafio 3: Sistema de puntuacion
    calcularPuntos(puntuacionDsf1, puntuacionDsf2);

}
1 respuesta

¡Hola Marlon!

Gracias por compartir tu solución del desafío "02. Condicionales y concatenación". Veo que has trabajado en mejorar la eficiencia del sistema, ¡excelente trabajo!

Ahora, con respecto a tu código, noto que estás utilizando un sistema de puntuación para un juego, pero veo que hay un pequeño detalle que podría mejorar. En la función calcularPuntos, estás utilizando un alert para mostrar el resultado. Podrías considerar devolver el mensaje en lugar de mostrarlo directamente, para que puedas manejar la presentación de la información de una manera más flexible.

Además, es genial ver que estás aplicando condicionales y bucles para resolver los desafíos propuestos. Si necesitas alguna sugerencia adicional o quieres discutir alguna parte específica de tu código, estaré encantada de ayudarte.

Recuerda que la práctica es clave para mejorar en la programación, así que sigue adelante con estos desafíos y no dudes en pedir ayuda si la necesitas.

Espero que esta sugerencia te sea útil. ¡Sigue así y buen trabajo!

Espero haber ayudado y buenos estudios!