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

DESAFÍO

Para dar solución al desafío del Módulo 5 CAMBIAR EL RANGO DE DATO ALEATORIO ENTRE 1 & N , dónde N es un entero múltiplo de 10 el cambio más sencillo sería de la siguiente forma

//Variables let numMaximo = 100; let numMinimo = 1; let numSecreto = Math.floor(Math.random() * (numMaximo - numMinimo + 1)) + numMinimo;

// ajuste a intentos máximos let maximosIntentos = 10;

...

Otra opción un poco más compleja sería pedirle al usuario que él mismo defina los máximos y mínimos (validando que no sea un intervalo 1 a 1 ó 5 a 4 ó que sean solo enteros positivos ) del juego, así cómo la cantidad de intentos máximos (especificando que deben ser mayor o igual a 1). Las validaciones mencionadas hacen el código más complejo y requeriría de funciones, por el momento, sin las validaciones internas, la segunda propuesta queda así:

// Indicaciones alert('FAVOR DE DEFINIR LOS LÍMITES DEL INTERVALO DE ADIVINANZA PARA ESTE JUEGO'); alert('NO DECIMALES NI NEGATIVOS');

//Variables let numMaximo = parseInt(prompt(Favor de indicar el valor máximo de búsqueda (mayor a 10) : )); let numMinimo = parseInt(prompt(Favor de indicar el valor mínimo de búsqueda (mayor que 0 y diferente de tu valor máximo) : )); let maximosIntentos = parseInt(prompt(Favor de indicar el valor de máximos intentos (mínimo 1 y máximo 10) : ));

// obtenemos el número secreto let numSecreto = Math.floor(Math.random() * (numMaximo - numMinimo + 1)) + numMinimo; let numeroUsuario = 0;

// pedimos que ingrese su número prueba numeroUsuario = parseInt(prompt(Me indicas un número entre 1 y ${numMaximo} por favor:));

...

// y seguimos el flujo normal escrito en módulos previos (para ambas propuestas)

Las validaciones por el momento no es tema del curso y sería hacerme "bolas" ya que son temas para más adelante, espero sean útiles estas propuestas.

Gracias

2 respuestas
// AJUSTE RETO MÓDULO 5
// ELABORÓ: Minerva Martínez

//Variables
let numMaximo = 100;
let numMinimo = 1;
let numSecreto = Math.floor(Math.random() * (numMaximo - numMinimo + 1)) + numMinimo;
console.log(numSecreto);
let numeroUsuario = 0;
let intentos = 1;
let maximosIntentos = 10;

alert(`Tienes ${maximosIntentos}`);

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

    console.log(typeof(numeroUsuario));
    if (numeroUsuario == numSecreto) {
        alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces' }`);
    } else {
        if (numeroUsuario > numSecreto) {
            alert('El número secreto es menor');
        } else {
            alert('El número secreto es mayor');
        }
        intentos++;

        //palabraVeces = 'veces';
        if (intentos > maximosIntentos) {
            alert(`Llegaste al número máximo de ${maximosIntentos} intentos`);
            break;
        }
    }
}

Hola, Minerva.

Gracias por compartir tu ejercício práctico con nosotros! Tu contribución es fundamental para el crecimiento de nuestra comunidad en Alura. Sigue comprometida y no dudes en regresar al foro en caso que tengas alguna duda o dificultad.

¡Abrazos y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!