gpt4 book ai didi

java - 用Java进行水平计算

转载 作者:行者123 更新时间:2023-12-02 08:58:15 25 4
gpt4 key购买 nike

我需要为我的一个 friend 计算一个等级系统。问题是我不知道该怎么做。他给了我一个终点,需要多少经验(31536000)才能达到最高等级(44)级别应该随着你的等级而增加(例如递减级数或对数),我只是不知道如何向后甚至向前计算它。我对 Java 没有那么丰富的经验,因为这对我来说已经很久了。

我需要从 1 到 44 级的每个级别所需的所有经验,并且您可以通过获得 31536000 经验来达到 44 级。我已经测试了一些东西,但我真的不擅长,而且我知道这对我来说有点高。

public class level{
public static final double base_exp = 1;
public static final double exp_increase_per_level = 0.40;
public static final int max_level = 44;

public static int level (double exp){
int i = 1;
double test_exp = base_exp;
while (i<max_level) {
if (test_exp > exp){
return i;
}
test_exp = test_exp + test_exp * exp_increase_per_level;
i++;
}
return max_level;
}

public static double level_to_exp (int level) {
if(level == 1)
return base_exp;
else {
double prev = level_to_exp(level-1);
return prev + prev * exp_increase_per_level;
}
}

public static double level_to_total_exp (int level) {
if(level == 1)
return base_exp;
else {
return level_to_total_exp(level-1) + level_to_exp(level-1) * (1 + exp_increase_per_level);
}

}

public static void main(String []args){
System.out.println("to level 1,"+level_to_exp(1)+"exp");
System.out.println("to level 2,"+level_to_exp(2)+"exp");
System.out.println("to level 44,"+level_to_exp(44)+"exp");

System.out.println("Total exp to level 44" +level_to_total_exp(44)+" acuumulated");
}

}

最佳答案

这只是基础数学。您的模型似乎是:

score = base^level

因此,要从分数中获取级别:

log(score) = log(base^level) = level * log(base)

level = log(score) / log(base)

要计算base,只需替换level=44score=whatever,然后重新排列。

关于java - 用Java进行水平计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60359954/

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