日期:2014-05-20  浏览次数:20767 次

技能伤害算法
谁帮忙写几个   简单的常用的   RPG   技能伤害算法  
谢谢

------解决方案--------------------
伤害的算法最好不要仅仅依靠一个方法,而是利用接口,

比如所有各种类型单位都有
int getPAttack(); //物力攻击力
int getMAttack(); //魔法攻击力
int getPAttackType(); //物力攻击类型
int getMAttackType(); //魔法攻击类型
int getPDefence(int pType); //对于某种类型物力攻击的防御力
... 还有攻击奖励/系数、防御奖励/系数、免疫、命中率/MISS率、距离系数、高度系数、随机系数等等

int computeDamage(Unit atk, Unit def) {
int pDmg = atk.getPAttack() - def.getPDefence(atk.getPAttackType());
int mDmg = atk.getMAttack() - def.getMDefence(atk.getMAttackType());
int dmg = pDmg + mDmg ........ ;
}

这样,每个兵种的class自己override/implement这些方法,并根据unit当前的状态,返回不同的数值,然后计算