不知何故,我想不出一個實際上很容易解決的問題。這是一個關卡系統,我需要一種非常簡單但我想不出的公式。
我根據經驗值計算等級,你需要例如等級 1 1.000 EXP,等級 2 3.000 EXP,等級 3 6.000 EXP 等等。
希望這是可以理解的。
唯一的問題是它不會持續上升。例如,對于 2 級,3,000 EXP 是因為您已經有 1,000 級 1,然后添加了 2,000 EXP(第 2 級)。在第 3 級,它是 6,000,因為第 1 級的 1,000,第 2 級的 2,000,然后是第 3 級的另外 3,000。
再往前走,5級需要5000EXP,比如從4級升到5級,在此之前還有其他等級的EXP。這意味著您總共需要 15,000 EXP 才能達到 5 級。
這是一個包含級別和所需經驗的串列:
Level 2 -> 3.000
Level 3 -> 6.000
Level 4 -> 10.000
Level 5 -> 15.000
Level 6 -> 21.000
...
Level 10 -> 55.000
uj5u.com熱心網友回復:
int xp=500;
//list of xp land marks to level up[adjust them to your needs]
int[] checkPoints=
{
0,2000,3000,6000
,10000,15000,21000,
,25000,30000,35000
,40000,45000,50000
,55000
};
int level=0;
for(int i=0;i<checkPoints.length-1;i )
{
/*
if xp lies with this range then level=i
example xp=11000 lies between 10000[i=4] && 15000[i=5]
so level=4
*/
if(xp>=checkPoints[i] && xp<=checkPoints[i 1])
{
level=i;
}
}
System.out.println("You are level=" level);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/441747.html
上一篇:如何逼近幾何增長序列的函式?
