我将尝试解释我的问题。 我正在开发一个java应用程序,为此我需要一个公式:

如果玩家的等级为100(最高),则必须有较高的价格:100

如果玩家的等级越低越好,则必须降低价格1:1

但是如果价格接近最高价,价格必须更高一些,例如,如果玩家的等级为30,价格必须为... 4,如果等级为60,则价格必须为10,如果级别是80,则必须是40,如果是90,则必须是80

我不确定如何解释这一点。 价格是一条非常低的曲线,直到水平接近最大值为止。

我有2011年的旧代码,正是我想要的:

value = (float) (0.00011994*Math.pow(Math.E,0.143649* baseLevel)); 

问题是我不理解此代码,有人在9年前告诉我使用此代码,而且我不记得该代码的逻辑,也不知道如何修改它以使其适应我的新需求。

所以我需要数学专家的帮助。

谢谢

===============>>#1 票数:0

听起来您希望对数解在价位和价格之间成比例地变化。 一种简单的方法是建立一个分别具有indiceskeyslistmap ,以选择该特定级别的起点。

例如:

List price = List.of(1,20,40,60,80,100); // values are up to you int index = level/20; // if level = 35, then index == 35/20 == 1 int startingPrice = price.get(index);  

请注意,如果您添加更多的值或更改级别的大小,则需要调整级别的除数以正确建立索引。

  ask by NullPointerException translate from so

本文未有回复,本站智能推荐: