经验管理类(课堂笔记)

来源:互联网 发布:linux命令与shell编程 编辑:程序博客网 时间:2024/06/05 05:54

1,提供一些常量的字段,每升一级的属性点,最高技能等级,等等。提供一个字典来存储等级对应的经验 public Dictionary,<,int, int> levels;,提供等级属性 public int Level { get; private set; },点数属性,经验属性,最高等级,当前等级经验的属性

public int CurrentLevelExperience
{//字典等级对应的经验
get { return levels[Level]; }
}
//下一级需要的经验等于
public int NextLevelExperience
{
get { return Level >= MaxLevel ? levels[Level] : levels[Level + 1]; }
}
在提供升级增加的各种属性点,
比如力量,智力,体力,精神等等;
//提供一些字段来记录装备增加的属性点,
public int AdditionalStrenght { get; private set; }
public int AdditionalStamina { get; private set; }
public int AdditionalMind { get; private set; }
public int AdditionalWillpower { get; private set; }
//提供一些字段来记录实际的点数
public int ActualStrenght { get { return Strenght + AdditionalStrenght; } }

//实际的点数等于装备的点数加人物的点数

2,初始化字典;等级,最高等级等属性
void Awake()
{
levels = new Dictionary<,int, int>();
Level = 1;
MaxLevel = 8;
levels.Add(1, 0);
levels.Add(2, 300);
levels.Add(3, 800);
levels.Add(4, 1500);
levels.Add(5, 2500);
levels.Add(6, 4000);
levels.Add(7, 6000);
levels.Add(8, 10000);
}
3.提供几个增加属性点的方法,
public void AddStrenght(int points, bool fromItem)
//第一个参数需要增加的点数,第二个参数是否从物品获得,如果不是从物品获得就增加要增加的点数,并从升级点数里减去增加的点数;如果是装备增加的就直接在装备添加的点里加上;有的属性会影响其他的属性,就在调用需要增加的属性
//TODO:待续