Project1

标题: 关于Game_Battler 3的特技威力计算 [打印本页]

作者: Anson    时间: 2012-1-17 13:15
标题: 关于Game_Battler 3的特技威力计算
  1.      # 计算威力
  2.       
  3.       if skill.atk_f == 0                  
  4.               power = [(user.level*0.4+2)*skill.power*user.int/self.mdef/50+2].max
  5.         else
  6.               power = [(user.level*0.4+2)*skill.power*user.str/self.pdef/50+2].max
  7.             end
复制代码
这是我修改过后的脚本。
我把敌人的攻击力设置为敌人的等级。
但是在游戏内附带的目录中是这样说的。
  1. 小数点以下的计算
  2. 整数除整数的情况下,会省略余数,答案将还是整数。想得到小数点以下的答案,就要使用到浮点数。除数或被除数至少要有一个是浮点数(明确标明了小数点以下),计算的答案就会是浮点数。

  3. p 15 / 4            # => 3
  4. p 15.0 / 4          # => 3.75
  5. p 15 / 4.0          # => 3.75
复制代码
而伤害按我的公式计算出来难免是浮点数,怎么让伤害约成整数???

dsu_plus_rewardpost_czw
作者: mzr1996    时间: 2012-1-17 13:22
最后加上一个.to_i就可以化为整数了吧。
作者: Anson    时间: 2012-1-17 13:23
mzr1996 发表于 2012-1-17 13:22
最后加上一个.to_i就可以化为整数了吧。

啊?加在哪个地方?
作者: mzr1996    时间: 2012-1-17 13:25
  1. power = power.round
复制代码
这个是四舍五入
  1. power = power.to_i
复制代码
这个是取整数


  1.      # 计算威力
  2.     if skill.atk_f == 0                  
  3.              power = [(user.level*0.4+2)*skill.power*user.int/self.mdef/50+2].max
  4.              power = power.round
  5.          else
  6.              power = [(user.level*0.4+2)*skill.power*user.str/self.pdef/50+2].max
  7.              power = power.round
  8.      end
复制代码
这样就行了吧


──mzr1996于2012-1-17 13:30补充内容:




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1