<body>
<form>
<input id="inicio" type="button" value="INICIO"/>
</form>
<script>
document.getElementById("inicio").addEventListener("click", comenzar, false);
function comenzar (){
var aleatorio = Math.round(Math.random()*100);
// document.write(aleatorio);
var numDado, intentos;
numDado=0;
intentos=0;
do{
numDado= prompt("Dime un numero");
if (aleatorio>numDado){
//alert("Mas alto");
document.write("mas alto");
}
if(aleatorio<numDado){
//alert("mas bajo");
document.write("mas bajo");
}
} while(aleatorio!=numDado);
alert("lo has logrado");
}
</script>
</body>
答案 0 :(得分:1)
我认为这是一个无限循环。
试试这个
numDado = numDado * 1
这会将 numDado 转换为数字
还有另一个问题。
如果用户按下“确定”但没有输入任何内容,或者按下“取消” 游戏不会停止
你可以添加这个
numDado = prompt("Dime un numero");
if (numDado != null) {
numDado = numDado * 1
或者这个
numDado = prompt("Dime un numero");
if(numDado == null) return;
numDado = numDado * 1
答案 1 :(得分:0)
numDado= prompt("Dime un numero"); // wrong way
numDado= Number(prompt("Dime un numero")); // right way
因为,提示始终将输入值作为字符串。如果您的输入值为数字字符串,则无法直接使用此字符串。所以你将数字字符串转换为数字然后使用它。
答案 2 :(得分:0)
我可以看到两个可能的问题。我没有时间测试它,但尝试以下方法:
1º我认为你可能有一个无限循环,所以试着像这样改变你的while循环:
while(numDado = prompt("Dime un número", "")) {
...
}
2º您必须将结果转换为数字(int),因为prompt()返回一个字符串。这可能会有所帮助:
var numInt = parseInt(numDado)