一旦用户猜到正确的号码,我需要询问用户是否想再玩一次。因为它是循环只会重复自己,但我需要的是提示框,询问你是否想再次播放。如果用户回答是,则循环将再次启动,直到猜到答案为止
<HTML>
<HEAD>
</HEAD>
<BODY
<FORM NAME="testform">
<BR>
<BR>
<BR>
</FORM>
<INPUT id="attempts" TYPE="text" NAME="inputbox" VALUE="" />
<INPUT id="zero" TYPE="button" NAME="resetbox" VALUE="Reset " onclick="reset()" />
<SCRIPT type="text/javascript">
varattempts = 0;
x = Math.round((Math.random()*19))+1;
var tip;
tip=prompt("Do you want to play a game?")
while(tip.charAt(0).toLowerCase() == "y")
{
var Guess;
document.getElementById('attempts').value = 0;
do
{
Guess = prompt("Pick a number between 1 and 20","")
if (Guess === null) break;
document.getElementById('attempts').value = parseInt(document.getElementById('attempts').value)+1
} while (Guess!=x);
if (Guess == x)
{
alert("You guessed right!")
}
}
function reset()
{
varattempts=0;
document.getElementById('attempts').value = 'Attempts: 0';
}
</SCRIPT>
</BODY>
</HTML>
答案 0 :(得分:4)
将你的循环置于另一个循环中。 Loopedy loop dee doop。
答案 1 :(得分:0)
最简单的方法是创建一个运行迭代的函数。当该迭代结束时,函数返回并询问是否要再次播放。如果是,则再次调用该函数。
将所有其他代码放在名为play()
的函数中:
function play() {
// all your other code here
}
// Then call that function in a loop, return true from play() if the user is done
// and doesn't wish to be asked if they want to play again
var done;
do {
done = play();
} while (!done || window.confirm("Do you want to play again?"));
答案 2 :(得分:0)
你可以将主位置于一个函数中,然后在复位时,返回false并根据提示框调用该函数。如果它是的话,如果不是什么都不做或者可能会显示一些不同的文字呢?
varattempts = 0;
看起来像个错误
看起来像写一些简单的imo的混乱方式。