我正在尝试编写一个简单的排名结构而不编码每种可能性。
我希望等级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个点差值
还试图获得余下的,所以你知道你到底有多远。
答案 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.