基于分数创建排名结构而不编码每种可能性

时间:2016-02-03 02:07:45

标签: javascript formula ranking

我正在尝试编写一个简单的排名结构而不编码每种可能性。

我希望等级1-10以25点为增量分开(0分=等级1)

比11-20分为50分,21-30分100分等。基本上每10级增加两倍的水平。

我从一堆if语句开始,甚至尝试过switch语句,但我觉得这很邋and,浪费时间和代码。任何可以指出我正确方向的建议,所以我没有编写所有可能的编码?

我将此标记为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个点差值

还试图获得余下的,所以你知道你到底有多远。

1 个答案:

答案 0 :(得分:0)

If you're going to be repeatedly calculating rank (eg. every time someone gains points), with a limited number of possible ranks, simply build a table (array) of total point requirements per rank, using a for loop keeping track of rank number, total points needed so far, and points needed to rank up from current rank. So rankTable[rank] = totalPointsNeededForRank. Then, whenever someone gains points, you can just check if they've reached the threshold for the next rank by looking up the next rank in the table.