魔兽攻击力随机值分析_第1页
魔兽攻击力随机值分析_第2页
魔兽攻击力随机值分析_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、魔兽攻击力随机值分析作者:shohit :               日期:2006-10-2大家都知道,war3里面攻击力是有范围的,DH的闪避、BM的暴击等都是有概率的。所以在war3里,随时随地都是有随机事件发生的。但大家可能没注意过,攻击力的随机值是怎样产生的呢?是全范围内的等概率事件,还是如二项式曲线一样中间概率高、两边概率低?正确的答案是:中间的数值概率高,两边的概率低。至于具体的分布概率,请看下面详解。大家应该都看过魔兽的中文帮助

2、,细心的朋友可能发现了,有些版本的帮助中,对攻击力的数值的表述不是一个由下限到上限的具体数字范围,而是用的类似这样一个式子:A+BdC(其中ABC均为自然数)比如0攻rm吧,用前一种表述方法就是18-24,而用后一种表述方法则为:16+2d4。有人可能会问了,这种表述方法是什么意思呢?这其实表示,war3中攻击力的概率分布使用的是d&d色子系统。通俗一点的理解就是:任何兵种都是有一个基础攻击力数值A(比如rm就是16),B则代表色子数量(比如rm就是2),C则代表色子的面数(比如rm就是4,这里不一定是6啊,war3不是搓麻)。rm每攻击一次,系统就扔出两个4面的色子(色子扔出1-4的

3、概率是相同的),假如扔出来的数值是2、4,那么这一次攻击的数值就是16+2+4=22。当然啦,当扔出的都是1时,就是最小值18,当都是4时,就是最大值24。现在来研究一下攻击力分布概率的问题。继续拿0攻的rm举例,其他的兵种道理是一样的。18(24):一种可能性1/101+1(4+4)19(23):两种可能性2/101+2、2+1(3+4、4+3)20(22):三种可能性3/101+3、2+2、3+1(2+4、3+3、4+2)21:四种可能性4/101+4、2+3、3+2、4+1可以看出来,越居中的数值随机出来的可能性越高,而两边的数值概率是对称的,越远概率越低。也许可能有人要问了,那rm18

4、-24的攻击力为什么不能表示为17+1d7或者15+3d3呢?这两个式子也代表了18-24这个攻击范围啊?这是一个好问题,如果各位war3er看到这里能提出这个问题的话,说明你是个善于动脑、善于思考的人。答案是这样的,大家想一下,war3对攻击力的升级是怎么实现的呢?很简单,就是加一个色子。再拿rm举例,1攻的rm攻击力是19-28,用先前的表示法就是16+3d4。而如果是17+1d7或者15+3d3的话升一攻加一个色子后变成17+2d7或者15+4d3,这分别对应于19-31、19-27,这与事实是不符的。同理,2攻3攻的rm的攻击力分别为16+4d4(20-32)、16+5d4(21-36

5、)。现在大家再看一下这个式子:A+BdC,升1、2、3级攻后B分别为B+1、B+2、B+3。可以看出,A越大、B越小、C越大,那么升级攻后对攻击力的提升更加显著。下面列表看一下各族各个兵种的攻击力数值(召唤生物、法师没有列出,因为他们不能升级攻防,于本文没有讨论意义):HUM:ORC:NE:UD:民兵:11+1d2大G:17+1d4ac:15+1d3小g:10+2d2fm:11+1d2猎头:22+1d5ht:15+1d3zz:25+1d6rm:16+2d4粉碎者:71+1d18投刃车:35+1d18天g:17+1d474:25+2d5狼骑:22+1d5小鹿:16+1d3骷髅:13+1d2破法:

6、12+1d3飞龙:34+2d5doc:18+1d4绞肉车:70+1d18飞机:6+1d2蝙蝠:12+1d3熊形态:26+3d6abo:32+1d713+1d2牛头:29+1d7角鹰:49+1d8des:18+1d3小炮:51+1d13角鹰骑:15+1d3冰龙:91+2d12坦克:44+1d11精灵龙:13+1d312+1d2奇美拉:66+1d1749:44+1d1144+1d1161:17+1d3山岭:26+2d732+2d8dot鸟:34+1d7可以看出,初级兵里zz的A、C值最高,而49、奇美拉、小炮、三种CAT都符合A大、B小、C大的原则,也就是说,对于他们升攻对攻击力的提高是显著的。还

7、有一个不得不提的就是熊,它是唯一B值为3的,而C值也只有6,升攻对它并不显著,只是因为B值较大,攻击力范围很大而已。而C值小于4的(比如des、61),升攻对它们是没什么太大作用的。还有要强调的一点就是:对于B=1的兵种来说,升攻前因为只有一颗色子,所以它们的攻击力概率分布是均匀的,当B1后就符合前文所说的中间概率高,两边概率低的规律了。下面的内容,是有关war3本身程序原理的,而且我本人也正在探索中,所以不关心的朋友,以下的可以跳过去不看。我们都知道,rep记录的是时间序列,即什么时间什么坐标的单位,以什么样的命令,指向目标坐标;而对于这个动作所造成的结果,是在播放rep时实时演算的。比如,

8、坐标(1,1)的fm,以动作指令“A”,指向坐标(3,3)的DH;而对于这次攻击实际造成的伤害,rep里是不会、也没有必要、甚至是不能记录的。于是问题就产生了,由于随机系统的存在,每一次动作指令造成的结果是不定的,fm可能给dh造成8点伤害,也可能被dh闪避掉,怎么才能保证播放rep时真实的重现当时的情况呢?一种解释是:对于每一个动作,rep都记录下对应于它的随机数。但这显然是不合理的,因为其数据量过于庞大了,要知道一次攻击通常都会产生不止一个随机数。学过basic的可能都知道,对于随机函数randonmize如果不指定随机种子的话,其产生的随机数列是不会改变的,也就是说不同的随机种子对应于不同的随机数列。依据这个原理,我认为是这样的,一次游戏开始前,war3先随机产生一个随机种子,而这个种子和随机数列之间是唯一对应的,当一个随机事件产生的时候,系统就按照先后顺序分配事前已产生好的随机数。r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论