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

[Proyecto] Una solucion mas interesante

Hola, lo que yo hice fue cambiar la tematica de intentos por vidas, en este caso se van restando a medida que vas utilizandolas hasta perder cuando llegas a 0 vidas, tambien implemente un modo de dificultades y el juego se adapta a ello, se los comparto por si alguno tiene curiosidad, tambien quite la variable 'intentos maximos' ya que en mi caso no me era de utilidad, gracias por leer.

//Elegir dificultad
alert('Seleccione la dificultad');
let dificultad = prompt('Facil (1-10)         Normal(1-100)          Dificil(1-1000)');

//Variables
let numeroSecreto = 0;
let numeroSecretoFacil = Math.floor(Math.random()*10)+1;
let numeroSecretoNormal = Math.floor(Math.random()*100)+1;
let numeroSecretoDificil = Math.floor(Math.random()*1000)+1;
let numeroUsuario = 0;
let vidas = 1;

//Numero secreto equivalente a la dificultad
if (dificultad == 'Facil'){
    numeroSecreto = numeroSecretoFacil;
    vidas = 3;
} else if(dificultad=='Normal'){
    numeroSecreto = numeroSecretoNormal;
    vidas = 6;
} else {
    numeroSecreto = numeroSecretoDificil;
    vidas = 9;
}
alert(`Tienes ${vidas} vidas`);

//Comienza el juego
while (numeroUsuario != numeroSecreto) {
    numeroUsuario = parseInt(prompt(`Me indicas un número entre ${dificultad == 'Facil' ? '1 y 10' : dificultad == 'Normal' ? '1-100' : '1-1000'}`));
    if (numeroUsuario == numeroSecreto) {
        //Acertamos, fue verdadera la condición
        alert(`Acertaste, el número es: ${numeroUsuario}. Te ${vidas == 1 ? 'quedo' : 'quedaron'} ${vidas} ${vidas == 1 ? 'vida' : 'vidas' }`);
    } else {
        if (numeroUsuario > numeroSecreto) {
            alert('El número secreto es menor');
        } else {
            alert('El número secreto es mayor');
        }

        //Restamos vida por cada error
        vidas--;

        //Se acaba el juego al llegar a 0 vidas
        if (vidas == 0) {
            alert('Te quedaste sin vidas');
            break;
        }
    }
}

//Revelamos el numero secreto en la consola
console.log(numeroSecreto);
2 respuestas

Esta interesante como lo has desarrollado, aunque mirando el codigo en todas las veces sale el alert "Me indicas un número entre 1-1000" y siempre sale la opcion de 9 vidas, asi escojas la opcion de facil medio o dificil, pero esto pasa porque el usuario no lo escribe exactamente igual la palabra a como la has escrito en el codigo cuando se lo solciitas, para esto hay un metodo que no recuerdo ahora como se llama, que no distingue de mayusculas ni minulsculas ni tildes, pero esta excelente tu codigo. igual agradezco que compartas la respuesta.

Gracias por tu respuesta Wilson, es verdad lo que comentas, tal vez podria utilizar ambas palabras con y sin mayuscula, mi idea fue utilizar los conceptos aprendidos hasta el momento en el curso 'Sumergete en la programacion con JavaScript'.