Buenas a todos, necesito un poco de ayuda ya que estoy muy verde con la programación. Os cuento:
Necesito ayuda con este ejercicio:
Crear el juego para adivinar un número aleatorio entre el 0 y el 999. Cada vez que realicemos un intento, el programa responderá si el número es menor, mayor o si hemos acertado, en este caso nos dirá el número de intentos que hemos necesitado para acertar. Ayuda: Math.random() nos devuelve un número aleatorio entre 0 y 1, sin llegar nunca a ser 1. Math.floor(x) nos devuelve el número entero inmediatamente inferior o igual al número dado.
Hasta ahora, este es el código que he hecho pero no funciona, se queda pillado (como un bucle infinito):
<html>
<head>
<meta charset="utf-8" />
<title> Número aleatorio entre 0 y 999 </title>
<script language="javascript">
window.onload = function (){
adivinaAleatorio();
}
function adivinaAleatorio() {
var alea=document.getElementById("aleatorio");
alea.value=Math.floor((999-4)*Math.random()) + 1;
var cont=document.getElementById("contador");
cont.value=1;
var num=document.getElementById("numero");
while (num!=alea) {
if (num>alea) {
numero = prompt('El número introducido es MAYOR. Inténtelo de nuevo');
}else{
numero = prompt('El número introducido es MENOR. Inténtelo de nuevo');
}
cont++;
document.getElementById('contador').innerHTML = 'Intentos = ' + contador;
}
alert('Enhorabuena. Has acertado');
}
</script>
</head>
<body>
<h1><center> JUEGO: Adivine el número aleatorio </center></h1>
<p><center> Consiste en adivinar un número aleatorio entre 0 y 999 </center></p>
<form name="formulario">
<center>
Introduce un número: <input type="text" id="numero" value=""><br/>
<input type="button" value="Probar" onclick="adivinaAleatorio()"><br/>
<input type="text" id="aleatorio" value="" readonly="readonly"><br/>
<input type="text" id="contador" value="" readonly="readonly"><br/>
</center>
</form>
</body>
</html>
La verdad es que no sé que hago mal (probablemente mucho) y necesito ayuda. Hay que usar window.onload obligatoriamente aunque no lo ponga en el enunciado.
Gracias y un saludo!