游戏开发论坛

 找回密码
 立即注册
搜索
查看: 11058|回复: 26

[讨论] 晕的我不会作了~~~大家帮我算一下

[复制链接]

6

主题

22

帖子

28

积分

注册会员

Rank: 2

积分
28
发表于 2004-12-28 09:25:00 | 显示全部楼层 |阅读模式
DnD(龙与地下城)系统中,判断命中时投掷一个20面的骰子(随机得到1~20的数字),当得到的数字大于或等于攻击目标的AC(防御等级)时,则表示命中了目标。那么,攻击AC=16的目标,命中几率是多少?
_________________________________________________
DiabloII的物理攻击命中公式为:Chance to Hit for Melee Attacks: 100 * AR / (AR + DR) * 2 * alvl / (alvl + dlvl)。其中AR = Attack Rating(命中值); DR = Defense Rating(闪躲值); alvl = Level of Attacker; dlvl = Level of Defender。现假定AR的取值范围是:100~1000;DR的取值范围是50~500;level的取值范围是1~99。请计算物理攻击命中几率结果的取值范围?

19

主题

158

帖子

158

积分

注册会员

Rank: 2

积分
158
QQ
发表于 2004-12-28 10:14:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

33%-66%

6

主题

22

帖子

28

积分

注册会员

Rank: 2

积分
28
 楼主| 发表于 2004-12-28 11:14:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

怎么算的啊~~~~~~能不能把~~~~公式告诉我啊啊啊啊
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!

6

主题

22

帖子

28

积分

注册会员

Rank: 2

积分
28
 楼主| 发表于 2004-12-28 11:35:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

大家快顶啊!!!!!!!!!!!!!我很急的啊!!!!!!!!!!

19

主题

158

帖子

158

积分

注册会员

Rank: 2

积分
158
QQ
发表于 2004-12-28 11:35:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

说不好,我是用笔算的,你熟读第三版龙与地下城的规则就明白了!

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-12-28 11:52:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

难么,投1个20面的骰子,大于等于16的概率是多少?

1 - (15 / 20)

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-12-28 12:04:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

D & D 是古典概率的典型应用,对于单一属性来讲,概率是单一值,没有说概率有多少到多少范围之内的说法。不知道我说的对不对?呵呵

就概率这个概念本身来讲,对于一个单一事件,概率也是一个值,本身就是表明了发生的几率性,怎么还会有多少到多少呢,我不太明白33% - 66%是个什么概念

19

主题

158

帖子

158

积分

注册会员

Rank: 2

积分
158
QQ
发表于 2004-12-28 14:39:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

可以理解为十次攻击中命中目标的次数为3-6次。

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-12-28 14:47:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

我倒~~~~~~~

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2004-12-28 15:16:00 | 显示全部楼层

Re: 晕的我不会作了~~~大家帮我算一下

对于第二个问题

AR / (AR + DR)
alvl / (alvl + dlvl)
如果这个公式一时半会无法分解的话,可以用一个很简单的办法分一下就可以了

AR 越大, AR / (AR + DR) 值越大,命中几率越大
DR 越大, AR / (AR + DR) 值越小,命中几率越小
alvl 越大, alvl / (alvl + dlvl) 值越大,命中几率越大
dlvl 越大, alvl / (alvl + dlvl) 值越小,命中几率越小

那么当AR取最小,DR取最大,alvl取最小,dlvl取最大时,命中几率最小
AR = 100, DR = 500, alvl = 1, dlvl = 99 时
100 * AR / (AR + DR) * 2 * alvl / (alvl + dlvl) = 1/3


反过来当AR取最大,DR取最小,alvl取最大,dlvl取最小时,命中几率最大
AR = 1000, DR = 50, alvl = 99, dlvl = 1 时
100 * AR / (AR + DR) * 2 * alvl / (alvl + dlvl) = 1320 / 7

从上面的公式可以看出,攻击方的命中越大,最后结果越大,防御方的闪躲越高,命中越小,攻击方等级越高,命中成功几率越大,防御方等级越低,命中越大。

但你的取值范围并不合理

这里要说明的是最后的结果是计算攻击是否成功的一种算法,不是计算攻击成功的概率,因为所有的因素都是确认值,最后的结果只是根据确认的表达式推出来的一个结果,只不过这个表达式中部分变量(AR DR)是概率值

可能我的表达有问题,不知道大家明白我的意思没有
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-1-27 06:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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