levelFinder

package
v0.0.0-...-05317bf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2015 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetExpByLevel

func GetExpByLevel(provider LevelProvider, level int) (exp int)

根据等级获取 刚升到这个等级的累计经验 合理处理边界情况,不报错 含义和LevelProvider.GetExpByLevel不一样

Types

type ArrayLevelProvider

type ArrayLevelProvider []int

使用数组储存 等级-经验 信息 key+2 表示升级到该等级需要的累计经验

func NewArrayLevelProvider

func NewArrayLevelProvider(maxLevel int) ArrayLevelProvider

maxLevel表示需要表示的最大等级 maxLevel需要>=1

func (ArrayLevelProvider) GetExpByLevel

func (provider ArrayLevelProvider) GetExpByLevel(lv int) int

func (ArrayLevelProvider) MaxLevel

func (provider ArrayLevelProvider) MaxLevel() int

func (ArrayLevelProvider) SetExpByLevel

func (provider ArrayLevelProvider) SetExpByLevel(lv int, exp int)

type LevelExpResult

type LevelExpResult struct {
	Exp                   int  //规整经验(已处理负经验问题和满经验问题,请返回后重新写回当前经验)
	Level                 int  //等级
	CurrentLevelExcessExp int  // 当前等级溢出经验(满级时,这个值为0)
	NextLevelAllNeedExp   int  // 从lv 0 exp升到 lv+1 0exp需要的经验(满级时,这个值为0)
	IsMaxLevel            bool //是否满级
}

func GetLevelByExp

func GetLevelByExp(provider LevelProvider, exp int) (result LevelExpResult)

根据经验获取等级, 合理处理边界情况,不报错 负累计经验重置为0 累计经验超过满级时,将累计经验重置为 满级经验

type LevelProvider

type LevelProvider interface {
	//到达这个等级lv需要的累计经验
	//默认等级1,需要0累计经验
	//输入范围 [1,MaxLevel()] ,两端包含
	GetExpByLevel(lv int) int
	//最大等级(到达这个等级以后,不能升级了)
	//对某一个实例,这个值不应该变化
	MaxLevel() int
}

func MaxLevelLimitProvider

func MaxLevelLimitProvider(inProvider LevelProvider, MaxLevel int) (outProvider LevelProvider, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL