查看: 2395|回复: 2

[已经解决] 攻击者每2点魔力就能无视被攻击者1%防御力,要怎么做啊

[复制链接]
梦石
0
星屑
50
在线时间
17 小时
注册时间
2015-6-24
回帖
3
发表于 2015-7-19 11:46:58 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
atk = [attacker.atk - (self.pdef  * (1 - attacker.int / 200))/ 2, 0].max
自己写了一个,试了一下好像没用啊{:2_271:}

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-7-19 12:01:54 | 显示全部楼层
本帖最后由 taroxd 于 2015-7-19 12:03 编辑

把 200 改成 200.0 试试
这不是VA的伤害公式功能吗

点评

我好像又撞了一次  发表于 2015-7-19 12:08

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2015-7-19 12:07:22 | 显示全部楼层
Ruby中除法采用整除机制。
例如attacker.int = 100,此时100/200=0,而不是0.5,因此必须使用小数除法。
[pre lang="Ruby"]atk = [attacker.atk - Integer(self.pdef * ([1 - 1.0 * attacker.int / 200, 0].max) / 2), 0].max[/pre]

点评

感谢指点  发表于 2015-7-19 17:30
我一般是先乘后除  发表于 2015-7-19 12:46
我一般是先乘后除  发表于 2015-7-19 12:44
我好像是1.0强迫症……遇到转换小数第一反应就是乘1.0  发表于 2015-7-19 12:16
我一般是有数字就写200.0,没数字就直接用fdiv方法了= = 一般懒得去乘1.0  发表于 2015-7-19 12:11
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部