Documentation
¶
Overview ¶
Package leveling 提供经验值 / 等级曲线原语:给定当前经验加一笔增量,算出新等级、 是否升级、跨了几级、当前等级内进度。纯计算、无状态、并发安全。
覆盖:角色升级、主播等级、VIP 等级、亲密度、公会等级——凡是"累计经验 → 等级"的 系统。等级曲线(每级所需经验)由调用方定义,本包只负责根据曲线做经验↔等级换算, 不预设任何数值,业务可自由用线性/多项式/查表曲线。
曲线抽象:Curve 是"等级 → 从 1 级到该级所需累计经验"的单调不减函数。 内置三种构造器:
- Linear:每级固定增量(等差);
- Poly:多项式增长(base * level^exp,常见的加速升级曲线);
- Table:查表(直接给出每级累计经验,最灵活,适合策划表)。
一次 Gain 返回完整结果(新等级/升了几级/当前等级内的经验与进度), 无内部状态——经验值由调用方持久化,本包做纯函数换算。零值不可用,用 New 构造。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Curve ¶
Curve 是等级曲线:CumulativeExp(level) 返回"达到 level 级"所需的累计经验 (从 1 级起算,CumulativeExp(1)=0)。必须随 level 单调不减。 MaxLevel 返回曲线支持的最高等级(满级)。
type Leveler ¶
type Leveler struct {
// contains filtered or unexported fields
}
Leveler 经验/等级换算器。零值不可用,用 New 构造。无状态,并发安全。
func (*Leveler) Gain ¶
Gain 在累计总经验 totalExp 基础上增加 delta(delta 可为负,总经验夹到 >=0), 返回变动后的完整结果。满级后多余经验仍累计在 TotalExp 中但等级不再上升。
Click to show internal directories.
Click to hide internal directories.