2025-06-02 21:34:39 +08:00
|
|
|
|
package utils
|
|
|
|
|
|
2025-06-07 22:53:54 +08:00
|
|
|
|
import "math"
|
|
|
|
|
|
2025-06-11 23:49:47 +08:00
|
|
|
|
// 模板结构,语法拒绝T{},但能接受TValue[T].V
|
|
|
|
|
type TValue[T any] struct {
|
|
|
|
|
V T
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-02 21:34:39 +08:00
|
|
|
|
func Tie[T any](ret bool, v1, v2 T) T {
|
|
|
|
|
if ret {
|
|
|
|
|
return v1
|
|
|
|
|
}
|
|
|
|
|
return v2
|
|
|
|
|
}
|
2025-06-07 22:53:54 +08:00
|
|
|
|
|
|
|
|
|
func VipLevel(sumExp int32) (lv, exp int32) {
|
|
|
|
|
lv = 1
|
|
|
|
|
exp = 100
|
|
|
|
|
for {
|
|
|
|
|
if sumExp < exp {
|
|
|
|
|
return lv, sumExp
|
|
|
|
|
}
|
|
|
|
|
sumExp -= exp
|
|
|
|
|
lv++
|
|
|
|
|
exp = int32(math.Pow(float64(lv), 1.6))
|
|
|
|
|
}
|
|
|
|
|
}
|