Project1
标题:
攻击计算
[打印本页]
作者:
awr110
时间:
2009-9-1 15:20
标题:
攻击计算
#--------------------------------------------------------------------------
# ● 获取攻击力
#--------------------------------------------------------------------------
def atk
n = base_atk + self.str
for i in @states
n *= $data_states[i].atk_rate / 100.0
end
return Integer(n)
end
# 计算基本伤害
atk = [attacker.atk - self.pdef].max
self.damage = atk * 1.1
就是武器攻击+自己力量=最终攻击 (最终攻击-敌人防御)*1。1=最终伤害 改了这2个 我不太懂。。。 当敌人的防御超过你的攻击 你砍他是加血的 你防御超过敌人的攻击 敌人打你也是加血 怎么设定成防御超过攻击 伤害固定为1
作者:
片羽樱
时间:
2009-9-1 19:12
最后加上
self.damage = [self.damage, 1].max
作者:
fofolee
时间:
2009-9-1 19:33
atk = [attacker.atk - self.pdef].max
这种语句的出现就说明没有理解max的意思,直接改为atk = attacker.atk - self.pdef就行了
解释下self.damage = [self.damage, 1].max
max这个东东就是在self.damage和1之间取最大值,那么当self.damage为负时(就是加血~)则和1比较,当然是1大,所以最终伤害为1。。
作者:
夏季冰川
时间:
2009-9-1 23:51
最简单的办法:在伤害计算完毕后self.damage+=1.
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1