设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3861|回复: 11
打印 上一主题 下一主题

[已经解决] 问一个技能计算公式的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
帖子
39
跳转到指定楼层
1
发表于 2013-11-4 05:31:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 fssssss 于 2013-11-4 13:09 编辑

b.hp/b.mhp*a.atk*6 + b.hp/b.mhp*a.mat*6 - b.hp/b.mhp*b.def*3 - b.hp/b.mhp*b.mdf*3
这个是一个反斩杀的计算公式,敌人当前血量百分比越多打得越痛。
但是为什么敌人满血的时候能造成伤害,只要一去一点点血就完全没有伤害了,老是说么造成伤害。
不管我那个 6 调得再高也没用。

Lv2.观梦者

梦石
0
星屑
362
在线时间
1292 小时
注册时间
2013-1-12
帖子
3590

贵宾

2
发表于 2013-11-4 08:44:53 | 只看该作者
恩.......  那一大串不太想看...... 牽涉了太多東西....
如果真的要血量越多傷越多的話就這樣就行了吧....
(a.atk * 12 - b.def * 6) * b.hp_rate
a.atk * 12 - b.def * 6 = 正常攻擊的三倍
然後再乘上血量比例... 所以就是
對方滿血時是正常攻擊三倍
對方2/3血時是正常攻擊兩倍
對方1/3血時是正常攻擊的一樣傷害
小於1/3效果就會比正常攻擊差了....
當然  細部微調是必要的.....(平恆度什麼的

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
3
发表于 2013-11-4 09:15:36 | 只看该作者
敌人满血的时候,b.hp/b.mhp=1,1*a.atk*6什么的肯定有个值
敌人不满血的时候,b.hp/b.mhp=0.x,自动转化成int型就是0,0*a.atk*6什么的都是0。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

4
发表于 2013-11-4 11:34:22 | 只看该作者
同二楼,敌人的hp比例被四舍五入成了零自然打不出伤害,把b.hp/b.mhp改成b.hp_rate如何?

点评

路過想問b.hp_rate是指什麼??  发表于 2013-11-4 11:50
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
帖子
39
5
 楼主| 发表于 2013-11-4 12:19:59 | 只看该作者
原来是这样!为什么b.hp/b.mhp会自动转化成整数,而自己输入的0.X就不会转化呢?
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

6
发表于 2013-11-4 12:29:58 | 只看该作者
fssssss 发表于 2013-11-4 12:19
原来是这样!为什么b.hp/b.mhp会自动转化成整数,而自己输入的0.X就不会转化呢? ...

把b.hp/b.mhp*a.atk*6改成b.mhp*a.atk*6/b.hp,其他的也一样。只要除法最后计算就没有问题了。
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
帖子
39
7
 楼主| 发表于 2013-11-4 12:35:21 | 只看该作者
本帖最后由 fssssss 于 2013-11-4 12:41 编辑

原理我是弄明白了,但是有个地方更糊涂了,
这计算公式什么时候会转化为整数,还有4则运算到底是怎样的,现在跟莫名其妙了。
@喵呜喵5 @tan12345 @76213585
@protosssonny  

点评

要想除法也按数学来算,就必须在算式中出现至少1个小数,比如5.0/2=2.5,或者5/2.0=2.5  发表于 2013-11-4 12:49
加减乘在整数运算时和数学是一样的,但是除法只有除尽的时候才和数学一样,除不尽的话小数点后面会被舍弃,比如5/2就等于2。  发表于 2013-11-4 12:49
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
8
发表于 2013-11-4 12:51:33 | 只看该作者
首先,hp_rate代表HP率,结果等于hp/mhp,只不过hp_rate是以0.0x的方式显示的,存在了小数点,而hp/mhp不存在小数点。
VA的伤害公式那里其实是默认了整数伤害(难道HP还能降低到0.1的血吗???),所以默认是整型,哪怕hp/mhp,也会自动转化成整型,如果你要小数点(你能保证最后的扣血没有小数点???),可以通过b.hp/b.mhp*a.atk*6.0(注意看,6改成了6.0)来转化。

点评

但是楼主从头到尾都没弄明白为什么6要改成6.0啊  发表于 2013-11-4 15:47
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
55 小时
注册时间
2010-10-27
帖子
39
9
 楼主| 发表于 2013-11-4 13:03:47 | 只看该作者
本帖最后由 fssssss 于 2013-11-4 13:08 编辑
tan12345 发表于 2013-11-4 12:51
首先,hp_rate代表HP率,结果等于hp/mhp,只不过hp_rate是以0.0x的方式显示的,存在了小数点,而hp/mhp不存 ...


还有一处不太明白
b.hp/b.mhp 得到一个转化的整数
这时 * 6.0 能获取当时b.hp/b.mhp真正计算的结果吗?
按理说掉血后b.hp/b.mhp会得到一个0
那么后面 * 6.0 为什么又会非0了呢?

————————————————————

我刚刚试了一下。。。b.hp/b.mhp * a.atk * 6.0 还是得到一个0...

看来只有hp_rate才行

谢谢了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
10
发表于 2013-11-4 13:12:02 | 只看该作者
fssssss 发表于 2013-11-4 13:03
还有一处不太明白
b.hp/b.mhp 得到一个转化的整数
这时 * 6.0 能获取当时b.hp/b.mhp真正计算的结果吗?

不好意思,是我疏忽了……你这样子,b.hp * a.atk * 6.0 / b.mhp试试
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 06:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表