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

[Proyecto] Proyecto final

let numeroUsuario = 0;
let numeroPosible = 10;
let numeroSecreto = Math.floor(Math.random() * numeroPosible) + 1;
let numeroIntentos = 1;
let maximosIntentos = 5;

alert("¡Bienvenido al juego de adivinar el número!");
numeroUsuario = parseInt(prompt(Ingrese un número entre 1 y ${numeroPosible} por favor:));

while (numeroUsuario !== numeroSecreto && numeroIntentos <= maximosIntentos) {

alert (Intento ${numeroIntentos} de ${maximosIntentos}.)
console.log (typeof(numeroSecreto));

if (numeroUsuario == numeroSecreto) {

alert(`¡Felicidades!  El número secreto es: ${numeroSecreto}. Lo hiciste en ${numeroIntentos} ${numeroIntentos == 1 ? 'intento' : 'intentos'}`);
//console.log(`El número secreto generado fue: ${numeroSecreto}`); 

} else {

if (numeroUsuario > numeroSecreto) {

    numeroUsuario = parseInt(prompt("El número secreto es MENOR. Intenta de nuevo:"));
} else {
    numeroUsuario = parseInt(prompt("El número secreto es MAYOR. Intenta de nuevo:"));
}

 numeroIntentos++;

 if (numeroIntentos > maximosIntentos) {
  alert (`Llegastes al maximo de intentos ${maximosIntentos} intentos, el juego ha terminado`);
  break; 
} 
               

}
}

2 respuestas

mi primer programa basado en el ejemplo dado por la clase, se intento lo mejor pero si me pudieran dar una retroalimentación se lo agradecere, porque mi propósito es mejorar

¡Hola Zuggeits, espero que estés bien!

Tu código parece estar en buen camino para el juego de adivinanza de números. Sin embargo, hay un pequeño detalle que podrías ajustar para que funcione correctamente. Actualmente, dentro del bucle while, estás verificando si el numeroUsuario es igual al numeroSecreto después de mostrar el mensaje de intento. Esta verificación dentro del bucle no es necesaria, ya que el bucle solo debería continuar mientras numeroUsuario no sea igual a numeroSecreto y el número de intentos sea menor o igual al máximo permitido.

Aquí tienes una sugerencia para ajustar tu código:

let numeroUsuario = 0;
let numeroPosible = 10;
let numeroSecreto = Math.floor(Math.random() * numeroPosible) + 1;
let numeroIntentos = 1;
let maximosIntentos = 5;

alert("¡Bienvenido al juego de adivinar el número!");
numeroUsuario = parseInt(prompt(`Ingrese un número entre 1 y ${numeroPosible} por favor:`));

while (numeroUsuario !== numeroSecreto && numeroIntentos < maximosIntentos) {
    alert(`Intento ${numeroIntentos} de ${maximosIntentos}.`);

    if (numeroUsuario > numeroSecreto) {
        numeroUsuario = parseInt(prompt("El número secreto es MENOR. Intenta de nuevo:"));
    } else {
        numeroUsuario = parseInt(prompt("El número secreto es MAYOR. Intenta de nuevo:"));
    }

    numeroIntentos++;
}

if (numeroUsuario === numeroSecreto) {
    alert(`¡Felicidades! El número secreto es: ${numeroSecreto}. Lo hiciste en ${numeroIntentos} ${numeroIntentos == 1 ? 'intento' : 'intentos'}`);
} else {
    alert(`Llegaste al máximo de ${maximosIntentos} intentos, el juego ha terminado. El número secreto era: ${numeroSecreto}`);
}

Con estos cambios, el juego finalizará correctamente cuando el usuario adivine el número o cuando se alcancen el número máximo de intentos. Espero que esto te ayude a completar tu proyecto. ¡Buena suerte!

Espero haber ayudado y buenos estudios!