有谁知道我如何生成一个新的随机数,以便我可以将它们存储到不同的变量中? (进入temp1和temp2)我希望程序每次为每个新变量重新运行“randomnumber”函数,这样我就可以将新的随机值存储到它们中。
<HTML>
<!Foundation Page for building our Javascript programs>
<HEAD>
<TITLE>The Foundation Page </TITLE>
<SCRIPT LANGUAGE = "JavaScript">
function main()
{
totalscore()
leaderboard()
}
function randomnumber()
{
var randomnumber;
randomnumber = Math.random()*3;
return(Math.floor(randomnumber+0.2));
}
function totalscore()
{
var n;
var p;
var total;
var temp1;
var temp2;
var score;
score = 0;
total=0
for (n=0; n<10; n=n+1)
{
number = randomnumber();
if (number == 0)
{
score =score+0;
}
else if (number == 2)
{
score =score+2;
}
else if (number == 3)
{
score =score+3;
}
total=total+score;
}
temp1= total
temp2= total
document.write(total)
document.write(total)
}
</SCRIPT>
<HEAD>
<BODY>
<BODY BGCOLOUR = "WHITE">
<H2>The Foundation Page </H2>
<HR>
<SCRIPT LANGUAGE = "Javascript"> main() </SCRIPT>
<INPUT NAME = "dobutton" TYPE = "button" value = "Start game" on Click = "game()">
<INPUT NAME = "dobutton" TYPE = "button" value = "Leaderboard" on Click = "leader()">
</BODY>
</HTML>
答案 0 :(得分:0)
我想我知道你在问什么,我将在下面发布工作代码,并解释为什么你会得到相同的随机数。
你有一个for循环正在生成分数,并返回一个你要存储的总值。问题是你将这个数字分配给temp1和temp 2,所以它们现在是相同的数字,然后你将这两个数字写入页面。你需要做的是有2个不同的计算。以下代码将修复它并为您提供2个不同的数字...
function totalscore()
{
var total1 = 0;
var total2 = 0;
for (var n=0; n<10; n++)
{
total1 = total1 + randomnumber();
total2 = total2 + randomnumber();
}
document.write(total1);
document.write(total2);
}
现在我对你的代码感到有些困惑,因为每次在for循环中重新计算时,得分都会自动复杂化。 (即如果前5个分数分别为1,2,2,1,3,那么总分将为24,而不是预期的9.如果这是故意的,则代之以放入此代码。
function totalscore()
{
var total1 = 0;
var total2 = 0;
var score1 = 0;
var score2 = 0;
for (var n=0; n<10; n++)
{
score1 = score1 + randomnumber();
total1 = total1 + score1;
score2 = score2 + randomnumber();
total2 = total2 + score2;
}
document.write(total1);
document.write(total2);
}
祝你的项目和学习编码好运!
答案 1 :(得分:0)
我注意到的问题
现在,问题是如何生成一个随机数。您正在这样做,尽管您可以简化它并使用Math.floor(Math.random()*3)
或return Math.floor(Math.random()*3)
。当然,你现在可以换掉3并用你想要的任何帽子替换它。