Pude hacer que el programa funcionara de la forma que se detalla abajo, pero estuve experimentando con la posibilidad de crear una variable que almacene el value del campo input pero siempre me queda vacío, mi teoría es que queda vacía porque la asignación se hace antes de que yo complete el campo, de ser así, ¿tengo forma de poder hacer la nueva asignación sin tener que crear un segundo botón que la ejecute?
Update: Busque la forma de eliminar el post del foro y no lo encontré, confirmé la teoría, reubiqué la asignación de la variable dentro de la función adivinar pero fuera del if y resultó, el programa funciona aunque entiendo que es menos efectivo que de la forma que publique porque no solo tiene que hacer la comparación sino asignar el valor a la variable cada vez que llama a la función.
<input/>
<button> ¿Sera? </button>
<script>
var nroSecreto = Math.round(Math.random()*10);
var input = document.querySelector("input");
var button = document.querySelector("button");
var nroAdivinado = input.value;
input.focus();
function adivinar() {
if (nroSecreto == parseInt(input.value)) {
alert("Felicitaciones! Adivinaste el número! Era " + nroSecreto);
} else {
alert("Mala suerte, intente nuevamente.");
input.value = "";
input.focus();
}
}
button.onclick = adivinar;
</script>