根据分数创建排名结构,而无需对每种可能性进行编码

Creating a rank structure based on score without coding each possibility

本文关键字:可能性 编码 创建 结构      更新时间:2023-09-26

我正在尝试编写一个简单的排名结构,而无需对每种可能性进行编码。

我希望排名 1-10 以 25 分为增量(0 分 = 1 级(

比排名 11-20 相隔

50,21-30 相隔 100 等,基本上每 10 级将级别之间的数量增加一倍。

我从一堆if语句开始,甚至尝试了switch语句,但我觉得这是草率的,浪费时间和代码。有什么建议可以指出我正确的方向,所以我没有编码所有的可能性吗?

我将其标记为javascript,因为这是我正在编码的内容,但我更在寻找大致的方向/公式,我可以找出代码。

需要明确的是:

0-25 points = Rank 1
26-50 points = Rank 2
51-75 points = Rank 3
etc...
201-225 points = Rank 9
226-250 points = Rank 10
etc....
251-300 = Rank 11
301 - 350 = Rank 12

正如你所看到的,一旦排名 1-10 排名之间的增量为 25 点。排名 11-20 的等级之间的增量为 50 分,那么 21-30 的等级之间应该有 100 分的增量,依此类推。

还试图获得剩余的,这样你就知道你离下一个排名还有多远。

如果您要反复计算排名(例如,每次有人获得积分时(,在有限数量的可能排名的情况下,只需构建每个等级的总积分要求的表格(数组(,使用for循环跟踪排名数字、到目前为止所需的总积分以及从当前排名排名所需的积分。所以rankTable[rank] = totalPointsNeededForRank.然后,每当有人获得积分时,您可以通过查找表中的下一个排名来检查他们是否达到了下一个排名的阈值。