Javascript 比赛中数回合

Javascript 比赛中数回合,javascript,math,loops,formula,Javascript,Math,Loops,Formula,我已经用JavaScript为我在游戏中主持的一场比赛编写了一个巨大的页面。我已经把我真正需要的东西都整理成了数组,但我想增加轮数。整个脚本会根据锦标赛设置进行调整(将来会有更多内容),我希望这也能自我调整。那么,让我们假设锦标赛设置为[游戏、团队规模、entrylimit]。entrylimit将是找到解决方案的关键,因为这决定了回合数。它在一个树系统中工作(或者不管它叫什么)。假设entrylimit是8。这意味着第一轮将包括4场比赛,第二轮将包括2场。如果entrylimit为16,那么第

我已经用JavaScript为我在游戏中主持的一场比赛编写了一个巨大的页面。我已经把我真正需要的东西都整理成了数组,但我想增加轮数。整个脚本会根据锦标赛设置进行调整(将来会有更多内容),我希望这也能自我调整。那么,让我们假设锦标赛设置为[游戏、团队规模、entrylimit]。entrylimit将是找到解决方案的关键,因为这决定了回合数。它在一个树系统中工作(或者不管它叫什么)。假设entrylimit是8。这意味着第一轮将包括4场比赛,第二轮将包括2场。如果entrylimit为16,那么第一轮将包括8场比赛,第二轮将包括4场,第三轮将包括2场。我想找到一种方法,将其粘贴到写入匹配项的循环中,并使用entrylimit和match number生成舍入数。我所需要的只是一个公式,可以使用这两个变量来得到我想要的结果。另外,我为太多的细节道歉。

试试这个:

var entryInfo = [];

function populateEntryInfo(entryLimit)
{
    entryInfo = [];
    var i = entryLimit;
    while(i>1)
    {
        i = i/2;
        entryInfo.push(i);
    }
    entryInfo.push(i);
}

如果我理解这个问题的话,entrylimit如何获得每一轮的轮数和匹配数

计算:

var entrylimit=16;
var amount_of_rounds = Math.log(entrylimit) / Math.log(2);
for(i=amount_of_rounds; i>0; i--)
{
  s = 'Round '+(amount_of_rounds-i+1)+' of '+amount_of_rounds+' consist of '+Math.pow(2, i-1)+' matches';
  alert(s);
}

无需道歉,细节层次非常恰当。我希望你发一个5段文字的问题,只有一句“我如何在java中使数组像thiz一样?”:)你的代码部分是正确的。你的第一轮有16场比赛。16分意味着在第一轮中有8场(1分1秒)的比赛。要更正代码,只需更改为Math.pow(2,i-1)。最后一轮应该是1场比赛,因为这是冠军赛。