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

[Sugerencia] Mi código es erroneo?

¿En el minuto 7:40 se hace una prueba y existe un pequeño error por no visualizar la consola en el navegador?¿O sólo me sucede a mi? Resulta que el valor inicial de numeroSecreto() comienza en "0". Por esta razón es que al ingresar como primer valor el "6" el juago arroja el mensaje "El número es menor". Diría lo mismo si se hubiese ingresado como primer valor "1". Luego de ingresar el primer valor sí hace el cambio de numeroSecreto(). Esto significa que sí o sí se debe inicializar numeroSecreto() = generarNumeroSecreto()? Adjunto mi código:

let numeroSecreto = 0;
let intentos = 0;
console.log(numeroSecreto)

function asignarTextoElemento(elemento, texto) {
    let elementoHTML = document.querySelector(elemento);
    elementoHTML.innerHTML = texto;
    return;
}

function verificarIntento() {

    let numeroDeUsuario = parseInt(document.getElementById('valorUsuario').value);
    console.log(numeroSecreto);
    if (numeroDeUsuario === numeroSecreto) {
        //Si el usuario acierta el número
        asignarTextoElemento('p', `Acertaste el número en ${intentos} ${(intentos === 1) ? 'vez' : 'veces'}`);
        document.getElementById('reiniciar').removeAttribute('disabled');
    } else {
        //Si el usuario no acierta el número
        if (numeroDeUsuario > numeroSecreto) {
            asignarTextoElemento('p', 'El número secreto es menor');
        } else {
            asignarTextoElemento('p', 'El número secreto es mayor');
        }
        intentos++;
        limpiarCaja();
    return;
}
}

function generarNumeroSecreto() {
    return Math.floor(Math.random()*10)+1;
}

function condicionesIniciales() {
    asignarTextoElemento('h1', 'Juego del número secreto!');
    asignarTextoElemento('p', 'Indica un número del 1 al 10');
    numeroSecreto = generarNumeroSecreto();
    intentos = 1;
}

function limpiarCaja() {
    document.querySelector('#valorUsuario').value = '';
    //valorCaja.value = '';
}

function reiniciarJuego() {
    //Limpiar caja
    limpiarCaja();
    //Indicar mensaje de intervalo de números
    //Generar número secreto
    //Desabilitar botón de "Nuevo Jugo"
    condicionesIniciales();
    //Inicializar el número de intentos
    document.querySelector('#reiniciar').setAttribute('disable','true')
}

condicionesIniciales();

Saludos y gracias.

2 respuestas

Ups mensaje equivocado

¡Hola Estudiante, espero que estés bien!

Parece que estás teniendo un problema con la inicialización del número secreto en tu juego. Según lo que entiendo de tu código y el contexto proporcionado, la función numeroSecreto() debe inicializarse con un valor aleatorio utilizando la función generarNumeroSecreto(). Esto es importante para que el juego funcione correctamente, ya que el número secreto debe cambiar en cada partida.

Además, la función reiniciarJuego() debe encargarse de realizar varias tareas, como limpiar la caja de texto, mostrar los mensajes iniciales, generar un nuevo número secreto, reiniciar el número de intentos y deshabilitar el botón de "Nuevo Juego".

Basándome en el contexto proporcionado, parece que la función reiniciarJuego() debe tener un comportamiento similar al descrito en la explicación, realizando múltiples tareas para restablecer el juego a su estado inicial.

Te recomendaría que modifiques tu función reiniciarJuego() para que realice todas estas tareas necesarias, asegurándote de que el juego se reinicie completamente al presionar el botón "Nuevo Juego".

Espero que esta información te sea útil para solucionar tu problema. ¡Buena suerte con tu juego y sigue adelante con tu aprendizaje en programación!

¡Saludos y gracias por compartir tu código y tu inquietud!

Espero haber ayudado y buenos estudios!