# 第二命中判定
这个第二命中是在第一命中成立的基础上进行判定的
eva 是局部变量
self.agi 是 被攻击者 的速度
attacker.dex 是攻击者的灵巧
self.eva 是 被攻击者的躲避
局部变量 eva 被赋值为后面的计算结果
eva = 8 * self.agi / attacker.dex + self.eva
下面这一行先是在进行判断.判断 被攻击者 被造成的伤害是大于0 还是小于0
如果是小于0则局部变量 hit 被赋值为 100
反之 局部变量 hit 则被赋值为 100 - eva
hit = self.damage < 0 ? 100 : 100 - eva
这一行是对 hit 的修正
状态里不是有一个选项是 不能躲避攻击 吗!
如果 被攻击者 有这样的一个状态的话 则 hit 被赋值为 100
hit = self.cant_evade? ? 100 : hit
下面这行就是在进行第二命中的最后计算了
hit_result = (rand(100) < hit)
end
flzt5354 发表于 2011-6-15 16:20
hit = self.damage < 0 ? 100 : 100 - eva
问号表达式,RUBY是否这么叫我不知道
简单的来说这是个简化的if ...
uoyllik 发表于 2011-6-15 17:03
1、在第一命中判定hit_result = (rand(100) < attacker.hit)里
attacker.hit的数值是从哪里来的呢?之 ...
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |