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

Desafio

Bueno de forma sencilla y funcional unicamente cambiaria los rangos

para el de 1 a 100:

let numeroSecreto = Math.floor(Math.random()*100)+1; let numeroUsuario = 0; let intentos = 1; let maximosIntentos = 4;

//Solo añadiría un intento más y conservaría el resto del código.

para el de 1 a 1000 : let numeroSecreto = Math.floor(Math.random()*1000)+1; let numeroUsuario = 0; let intentos = 1; let maximosIntentos = 7;

// Por los rangos lo haría de 7 intentos y conservaría el resto del código.

Propuesta personal: // Mi propuesta es que el usuario establezca los rangos de los números, por así decirlo que vaya subiendo la dificultad y va probando progresivamente los diferentes rangos pero el número de intentos es fijo con 6. Puede ser una buena alternativa, que sigue siendo dinámica y se conserva parte del código original.

let rangoInferior = parseInt(prompt('Establece un rango inferior:')); let rangoSuperior = parseInt(prompt('Establece un rango superior:')); let numeroSecreto = Math.floor(Math.random() * (rangoSuperior - rangoInferior + 1)) + rangoInferior; let numeroUsuario = 0; let intentos = 1; let maximosIntentos = 6;

while (numeroUsuario != numeroSecreto && intentos <= maximosIntentos) { numeroUsuario = parseInt(prompt("Indica un número dentro del rango asignado por favor:"));

if (numeroUsuario < numeroSecreto) {
    alert('El número secreto es mayor');
} else if (numeroUsuario > numeroSecreto) {
    alert('El número secreto es menor');
}

// Verificamos si el usuario adivinó el número *antes* de incrementar los intentos
if (numeroUsuario == numeroSecreto) {
    alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`);
    break; // Salimos del bucle porque el usuario ha ganado
}

intentos++;

if (intentos > maximosIntentos) {
    alert(`Llegaste al número máximo de ${maximosIntentos} intentos. El número era ${numeroSecreto}`);
    break; // Salimos del bucle porque se alcanzó el límite de intentos
}

}