将随机生成的数字添加到数组中并将它们相加

时间:2015-05-10 15:43:45

标签: javascript arrays random

我目前正在做一项任务,我们有一定数量的人玩游戏,每个玩家都有尝试得分。分数将从1-3中随机生成。我唯一的问题是将随机生成的值存储到数组中,然后将它们相加。通过这种方式,我可以制作一个排行榜,表示类似于"恭喜(球员姓名)你的总得分是(总得分))。关于如何做这些的任何建议都会很好或更好,任何其他选择也将受到赞赏。到目前为止,我一直在使用增量计数器来生成总分,但它会一遍又一遍地生成相同的数字,例如(2,2,2,2 ......)(1,1,1,1,......)



<HTML>
<!Foundation Page for building our Javascript programs>
<HEAD>
<TITLE>The Foundation Page </TITLE>
<SCRIPT LANGUAGE = "JavaScript">
function main()
    {
    randomnumber()
    totalscore()
    }
function randomnumber()
{
    var randomnumber;
    randomnumber = Math.random()*3;
    return(Math.floor(randomnumber+0.5));

}
function totalscore() 
{
    var n;
    var score = 0;
    number = randomnumber();
    for (n = 0 ; n < 11 ; ++n)
    {
        if (number == 0)
		{
            score = score + 0;
        }
        else if (number == 2)
        {
            score =score + 2;
        }
        else if (number == 3)
        {
            score =score + 3;
        }
    }
		document.write(score)
}


</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>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

这可能有所帮助,尽管您应该在发布解决方案之前先尝试。

创建一个空数组:

var myArray = [];

向数组添加值(来自randomnumber()生成器):

myArray.push(randomnumber());
myArray.push(randomnumber());
myArray.push(randomnumber());

对某些数组的值求和的函数(这可能是最原始但更快/更有效的方法):

var sumElements = function(someArray) {
    if (someArray == null) return false;
    var sum = 0;
    for (var i = 0, len = someArray.length; i < len; i++) {
        sum += someArray[i];
    }
    return sum;
}

调用sumElements找到总和:

sumElements(myArray);

答案 1 :(得分:0)

这是做你需要的最简单的方法

var randomArray = [];
var randomSum = 0;
randomArray.push(randomnumber());
randomArray.push(randomnumber());
randomArray.push(randomnumber());

for(var i=0; i<randomArray.lenth; i++){
   randomSum += randomArray[i];
}