我是Javascript新手,我开发了一个简单的数字猜谜游戏。该程序生成一个1-10之间的随机数,并提示你猜得太高或太低。如果你猜对了,你就赢了。
我想改进这个版本,给玩家3次猜测,之后玩家要么赢,要么输。我知道这是用循环完成的,但我一辈子都搞不懂怎么做。我试过使用while循环,但它不起作用。这是我的代码,谢谢大家的帮助:
<script>
var rannum = Math.floor((Math.random() * 10) + 1); //generates a random number and stores it in the rannum variable
function submitanswer(){ //This function analyzes player response and is called by the submit button
var playerguess = document.getElementById("guess"); //grabs whatever the player types in and stores it in the playerguess variable
if (playerguess.value == rannum){ //if the value of playerguess is the same as rannum then the player wins
alert("You win!");
location.reload();
}
if (playerguess.value > rannum){ //if the player's guess is higher than the random number alert too high
alert("Too high!");
document.getElementById("guess").value='';
}
else if (playerguess.value < rannum){ //if the player's guess is lower than the random number alert too low
alert("Too low!");
document.getElementById("guess").value='';
}
}
function reloaD(){ //start over by generating a new number
document.getElementById("guess").value='';
location.reload();
}
</script>
</body>
</html>
2条答案
按热度按时间7hiiyaii1#
所以这是我如何继续你的游戏..我会尽我最大的努力让你明白我的逻辑。
首先,您需要一个输入框,用户将输入他/她的猜测和一个按钮提交该猜测:
然后是一个关于按钮点击的事件监听器。在这个监听器中,我从输入框中获取用户的猜测值,并将其发送到另一个函数,该函数将检查猜测值是否正确,是低还是高。同时,我还保留了一个计数器,它将在每次按钮点击时递增。用户将只能检查到maxGuesses,最初为3。当计数器等于max guesses时,这是当游戏结束,我禁用按钮,所以没有更多的输入。
检查猜得太高,太低或正确的猜测是简单的逻辑,因为你使用,三个条件。2在正确的猜测,用户将显示“你赢了!”3和按钮将再次被禁用,因为游戏现在结束了。
display: none
当用户获胜或游戏结束(达到最大猜测数)时,它将显示。
然后,当用户点击重新启动,所有的值重置,重新启动按钮消失,游戏再次开始。
thtygnil2#
这里不需要使用循环。您可以使用一个变量来跟踪还剩下多少个猜测。每次计算答案时,将该变量减1。如果减到0,游戏就输了。
我还对您的代码进行了一些其他改进,即:
文件索引.html:
文件game.js: