gpt4 book ai didi

php - 让玩家进入下一场比赛 - 锦标赛分组(需要一些逻辑)

转载 作者:行者123 更新时间:2023-11-30 18:20:31 27 4
gpt4 key购买 nike

我很难想出一种合理的方法来让玩家晋级到我的锦标赛分组中的新比赛。您可以在此处查看示例:http://www.stickyflames.com/brackets.php?id=3

比赛从 1 到参加比赛的玩家人数。 (示例中为 1-8)。使用问题的第一部分查看我的比赛是如何设置的:How to determinate round by element in tree (Tournament brackets)?

这里有一个场景来演示:Example1 赢得了他的比赛,因此他被扔进了第 5 场比赛的第 1 个位置。而 Example2 赢得了他的比赛,并进入了第 5 场比赛的第 2 个位置。另一方面,Example3 和 Example4 被放入 M6 槽。

你们知道一些数学算法可以计算出他们应该结束的比赛吗? (插槽可以使用模数确定,所以不用担心)

非常感谢。

最佳答案

编辑:这是他正在寻找的答案。根据比赛计算轮次:

Math.round(match# / 2) + Round-1-match-count

很高兴你能自己解决它:]

另一种看待它的方式:

让我们重新设计这里的问题。现在看来你正在适应这种树

1 
5
2
7
3
6
4

类似的东西,你想要一个算法,可以得到 1/2 到 5、3/4 到 6,等等。我敢打赌你可以为此制定一个公式,但它可能比必要的复杂一点。如果你考虑一下,1/2 永远不必输入 6,3/4 永远不必输入 5,等等。事实上,我认为这样看会更容易、更准确:

0a 
2a
1a
3a
0b
2b
1b

我知道你的代码现在是如何格式化的,但如果你想区分它们,你可以做 a 和 b。

现在向上移动的算法就是

if (spot == 0) { 
spot=spot+2; //we'll move it to the next because 0 is the only exception
} else { //if odd
spot=spot+1; //ideally we only need to add one to move to the next bracket
}

您可以使用parseInt 只获取数字。可是等等!因为它们是相同的号码,它怎么知道去哪个插槽?这就是我们可以使用字母的原因。字符串的妙处在于它们只是串在一起的字符数组。示例:

var word = "Hello";
word[0] = "H";

因此,您可以通过执行 spot[1] 来访问字母,这样您就可以确保 a 与 a 保持一致,b 与 b 保持一致。希望这会有所帮助。

哦还有最后一件事。您可能想知道 3a 怎么样?那里没有b。好吧,我不完全确定你是否想要一封信,但如果你确实想要它,你可以编写代码来查看 b 是否存在。如果没有,则将它放在 a 中,因为这是它唯一可以去的地方。

关于php - 让玩家进入下一场比赛 - 锦标赛分组(需要一些逻辑),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150313/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com