文明4战斗胜率

上传人:ra****d 文档编号:208671841 上传时间:2023-05-11 格式:DOC 页数:28 大小:103.50KB
收藏 版权申诉 举报 下载
文明4战斗胜率_第1页
第1页 / 共28页
文明4战斗胜率_第2页
第2页 / 共28页
文明4战斗胜率_第3页
第3页 / 共28页
资源描述:

《文明4战斗胜率》由会员分享,可在线阅读,更多相关《文明4战斗胜率(28页珍藏版)》请在装配图网上搜索。

1、战斗系统解析啊战争!无论你喜欢它或者是厌恶它,它都将是你文明游戏生涯的重要组成局部。本文将尝试着解析战斗系统是如何演算的,并讨论一些当力量发生微小变化时,会导致你的胜率发生戏剧性变化的“跳跃点,以及讨论一些特殊点数的奇特的计算方法。希望这些能够对你在战斗中有所启发。根底你并不真正需要来理解这些东西。你可以很简单地按住alt键的同时移动鼠标到单位上或者右键点击后拖拽到单位上,然后就可以看到胜率会显示在屏幕的左下角。这里将解释的是那些数值是如何计算的。进攻方的修正后力量这是第一个被计算的。包括进攻方获得的任何与防守方无关的点数在默认游戏模式下只有普通的力量晋升。将力量总数乘以本单位的生命值/100

2、。这就是进攻方的修正后力量。举个例子:一个有搏斗1级,攻城1级而生命值只有73点的剑士准备攻击一座城市。他的修正后力量=6原始力量1.1来自搏斗1级的力量加成73/100来自生命值的影响=4.82好吧,实际上是4.818,但是我不知道文明4的计算精度是否会保存小数点两位以后的数值防守方的修正后力量这个数值的计算更为复杂。要确定防守方的地形加成点数,普通的力量加成点数,对进攻方单位类型的加成点数,防御加成点数,等等。将这些全部加起来。然后减去进攻方攻击本单位时可能拥有的任何加成点数。那包括进攻方对抗防守方单位类型的加成点数,进攻方攻城的加成点数,进攻方在本地形上的战斗加成点数这里原作者只写了个问

3、号,我提醒大家注意哦,不是地形对防御的加成点数,而是攻击的加成点数。默认游戏模式下好似没有这个加成,但是玩过VISA MOD的话就知道了,某些单位在某种地形上会获得额外的加成点数,攻击和防御时均有效。如果以上计算结果即加成修正值是正数,那么将计算出的百分比加成到防守方的原始力量上来计算防守方的修正后力量总数了。如果加成修正值是负数,那么防守方的修正后力量总数要用原始力量除以1-加成修正值。注意:我对这个公式的看法是:当加成修正值是负数的时候,可以用原始力量除以1+加成修正值的绝对值,这是完全一样的。一旦这个数值计算出来,防守方的生命值就要进行计算了。这次依然只要直接将剩余生命值的百分比直接乘以

4、上面算出来的修正后力量总数就可以得到最终防守方修正后力量了。举例1:双方均满生命值一个晋升了攻城1级和搏斗1级的弓箭手原始力量3准备攻击一个在草地上的勇士原始力量2。进攻方的修正后力量可以简单地算上搏斗1级的加成即可得到,数值为3.3即等于3+30.1。而防守方没有任何力量加成点数,且草地的防御加成点数为0,所以防守方的修正后力量为2。举例2:双方均满生命值一个晋升了搏斗1级和隐蔽能力+25%对投射单位的骑士原始力量10准备进攻一个处于森林中长弓手原始力量6。进攻方的修正后力量仍然很容易计算,只要算上搏斗1级的10%的力量加成即可。骑士的攻击数值为11等于10+100.1。长弓手那么拥有来自森

5、林的+50%的地形防御加成。但是,同时由于骑士拥有隐蔽能力,能够对防守的长弓手产生影响,使防守方的加成修正值-25%。所以,长弓手的加成修正值是+25%。最后,防守方的修正后力量是7.5等于6+60.25。举例3:一个晋升了搏斗1级,搏斗2级和攻城1级+20%城市攻击但是只有73点生命值的骑士原始力量10准备进攻一个在城市中拥有3%城市文化带来的防御加成的斧头兵原始力量5。进攻方的修正后力量是8.76等于10+100.273/100,包括两级搏斗晋升和生命的影响。而防守方首先要计算城市带来的+3%的防御加成。然后进攻方的攻城1级带来的影响也要算进来。这使防守方的加成修正值减少20%。因此,加成

6、修正值应该等于-17%。最后,防守方的修正后力量为4.27等于5/1+0.17,即5/1.17。实际战斗我们现在已经知道了进攻方和防守方的修正后力量。我们不妨分别用A和D来表示这两个值,这有助于我们接下去的讨论。如果这么一点代数就把你吓坏了,那么请你直接跳到“影响的章节每回合胜率攻击方每一回合获胜的机率由A/A+D决定,同理,防守方每一回合获胜的机率就是D/A+D。现在我准备引入一个新的变量进攻方与防守方的修正后力量之间的比率。不妨用R来表示这个新的变量。它等于A/D,而且它控制着整个战斗过程。R值越大,那么进攻方的胜率就越高。每一回合,进攻方胜利的机率为R/1+R。而防守方胜利的机率那么为1

7、/R+1。每次击中造成的伤害每次战斗开始的时候,进攻方和防守方的初始生命值均为各自当前的生命值并不像之前某些例子中那样,初始生命值为100。比方你的部队上次战斗获胜后还剩45生命值,如果马上再投入战斗的话,初始生命值就是45,而不是100了。进攻方的伤害力由如下方式计算:floor203A+D/3D+A,这里的floor表示取整。换句话说,你计算完该值以后,将所有小数局部舍去,留下整数。防守方的伤害力那么由如下方式计算:floor203D+A/3A+D。再回到用R这个变量来计算,那么进攻方能够造成floor203R+1/3+R的伤害,而防守方那么能够造成floor203+R/3R+1的伤害。任

8、意一方每次击中能够造成的伤害力上限是60。而伤害力下限是6.不管单位之间的力量差距有多大,只有在上述范围内的伤害是可能出现的。一旦有一方的剩余生命值低于0,它就战败了或者撤退了。胜利者剩余的力量点数等于原始力量生命值/100。但是由于它剩下的生命值更少了,所以它在接下来的战斗中更容易阵亡。修正后力量对此不起作用。精确的机率计算见 :/c4combat.narod.ru/c4c.htm 注意:已经升级到包含生命值感谢Ellestar。先发打击先发打击回合是特殊的。它的次数取决于进攻方和防守方的先发打击次数。先发打击次数较高的那一方获得先发打击的时机,其先发打击回合的次数等于双方先发打击次数之差。

9、对于x-y次先发打击机率可能发生的先发打击次数,虽然没方法在数学上证明,但是看起来好似每回合进行先发打击的可能性约为50%。这里感谢11楼zz_fly兄的指正,说明一下,+1先发打击和+1先发打击机率是不同的概念,前者是固定的先发打击回合数,而后者只有大约50%的机率发生先发打击。举个例子,诸葛弩原始属性+2先发打击,这个是固定的先发打击次数,而晋升操练1级后,得到+1先发打击机率,这个只有50%的时机得到1次先发打击。所以最后的平均先发打击次数应该是2+10.5=2.5。同理,如果是总共晋升了4级的操练的诸葛弩,那么总共5次先发打击,3次先发打击机率,最后的平均先发打击次数是5+30.5=6

10、.5。我之前将两个概念搞混了每个先发打击回合就和任何其它回合一样,除了一点,只有发起先发打击的那一方可能给对方造成伤害。举个例子,如果进攻方有2次先发打击,而防守方没有先发打击,那么开始的两轮就有两种可能性进攻方获胜,那么进攻方对防守方造成伤害。或者防守方获胜,那么双方均不受到伤害。而每一回合的胜率就和其它回合一样。先发打击只是防止你受到伤害。撤退撤退只会发生在某一轮结束,而进攻方将会被杀死的时候。如果是那样的话,进攻方的撤退机率将会产生特殊的作用。如果成功了,那进攻方就会撤退,剩余生命值为它在最后一轮也就是差点被杀死的那一轮之前的生命值。进攻方获得胜利的机率绝不会由于拥有撤退机率而减小。因为

11、这只发生在当进攻方将要阵亡的时候。关于撤退有一些要点。首先,任何拥有X%撤退机率的进攻方在战斗都绝对会有大于X%的存活率。因为他可能获胜这个机率大于0,可能撤退X阵亡机率,或者可能真正的阵亡。第二点,只有进攻方可能撤退,防守方没有撤退的机率。第三点,当进攻方比防守方弱的时候,撤退就显得非常有价值了就比方当投石车攻击城市的时候。举例:一个投石车原始力量为5准备进攻一个驻防在城市中的弓箭手原始力量为3。弓箭手有+50%的城市防御加成点数和+25%的驻防加成点数。投石车有20%的撤退机率一个晋升。进攻方的修正后力量为5.防守方的修正后力量为5.25。如果没有撤退,那么投石车这次战斗只有34.7%的机

12、率获胜,而阵亡的机率高达65.3%。而如果有撤退,那么获胜的机率仍然还是34.7%,但是有65.3%中的20%机率撤退等于0.20.653。所以,这次战斗获胜机率34.7%,撤退机率13.1%,而真正的阵亡机率只有52.2%等于0.80.653。附带伤害当攻击堆叠单位即多个单位堆叠在同一格时,压制单位有一项固有能力,使它们能够额外地对堆叠的单位造成伤害,除了正在被攻击的那一个单位外。只有进攻方能够造成附带伤害,并且只有防守方中除了正在直接防御进攻的那个单位外的堆叠单位会受到附带伤害。而被选中的防御者就是防守方直接参与防御的那个单位将会与进攻的单位进行一场正常的战斗。最大伤害文明3中能够通过炮击

13、完全消灭一个单位的日子已经过去了。每个能够造成附带伤害的压制单位所能造成的附带伤害都是有上限的。这是在单位的XML文件中定义的。比方投石车的附带伤害上限为50;加农炮为60;火炮为70。坦克/德国坦克和主战坦克都是60;诸葛弩是60;而隐形轰炸机是50。这意味着投石车无法对生命值等于或者低于50的单位造成附带伤害。同样的,火炮无法对任何生命值低于30的单位造成附带伤害。这些是对附带伤害的硬性限制。目标个数附带伤害的目标个数是一个关于进攻方单位和潜在目标个数的函数。潜在目标个数是指在同一格内没有直接参与防御的,并且生命值高于最大伤害限制的单位的个数。举例:一辆投石车准备进攻一堆堆叠的单位。其中包

14、括一个生命值100的火枪手,一个生命值95的火枪手,一个生命值42的骑士,以及一个生命值73的斧头兵。因为生命值为100的那个火枪手直接进行防御,所以它不是附带伤害的目标。而生命值42的骑士,由于生命值低于投石车的最大附带伤害限制,所以它也不是附带伤害的目标。每种能够造成附带伤害的单位也都有一个目标个数的上限。投石车只能够最多同时对5个单位造成附带伤害,加农炮是6,火炮是7,诸葛弩是5,坦克/德国坦克是5,主战坦克是6,轰炸机是5,隐形轰炸机是6。所以,即使目标堆叠了12个火枪手,一辆加农炮也只能够打击到总共7个单位其中1个直接攻击到的,还有6个被附带伤害攻击到的。因此,目标个数小于min潜在

15、目标个数,目标个数上限。也就是说,必定小于这两个数中较小的那个。选择目标每回合造成附带伤害时的目标是随机从潜在目标列表中抽取的。我不认为这个列表会每回合更新一次如果那样的话,可能会有在目标个数上限外的单位被选到,但是我无法确定。伤害数值附带伤害的伤害值计算与正常战斗的伤害值计算很相似。但是,每个单位的力量的修正方式有所不同。进攻方唯一的潜在力量加成点数是弹幕的晋升弹幕1级+20%,弹幕2级再加30%,最后弹幕3级加50%。这会影响到每个单位的力量的初始百分比。而防御方没有任何的力量加成点数。而且在这次相关的力量计算中,生命值没有任何影响。所有的正规炮兵单位投石车,加农炮,火炮,以及隐形轰炸机计

16、算的时候均基于自身的力量的满值。而坦克坦克,德国坦克,主战坦克计算的时候基于0。而诸葛弩计算的时候基于自身的力量的一半。举例:一个诸葛弩原始力量6计算附带伤害时,它经过修正的力量为3等于0.56。举例:一辆晋升了弹幕1级的坦克原始力量28计算附带伤害的时候,它经过修正的力量为5.6等于280.2。如果还晋升了弹幕2级的坦克,那么为14等于280.5。然后,单位所造成的附带伤害好似是它们用同样的修正后力量直接进行战斗所能造成的伤害的一半。也就是说,附带伤害数值=floor103A+D/3D+A。这个数值只有当伤害足够使防守方的生命值降低至最大伤害限制具体见前面的讨论以下时,才会减少。举例:一辆投

17、石车晋升了弹幕1级和弹幕2级对一个处在丘陵上的城市中的长弓手生命值为71造成附带伤害。那么投石车的修正后力量是7.5等于51.5。而长弓手的修正后力量是6丘陵的防御加成,城市的防御加成,以及长弓手的生命值均没有产生影响。投石车对长弓手造成11点伤害。将所有因素汇总然后,攻城武器简单地在选择目标和造成伤害两个阶段中循环。其循环次数等于目标个数。不是每个潜在目标都会受到伤害,而且一些单位有可能受到不止一次伤害。举例:一辆投石车晋升了弹幕1级攻击一堆堆叠单位。包括两个满力量值的火枪手,一个生命值54的骑士晋升了搏斗1级,一个生命值38的剑士,还有一头生命值83的大象。目标个数为3.第一次随机目标是大

18、象。双方的修正后力量分别是6和8,这意味着对大象造成8点伤害。第二回合,骑士被选中了。双方修正后力量是6和10,这意味着7点伤害。但是由于最大伤害限制,实际上只造成4点伤害。第三回合,大象再一次被选中,又一次受到8点伤害。在投石车与第一个满力量值的火枪手开始战斗前,这一堆单位中现在有两个满力量值的火枪手,一个生命值50的骑士,一个生命值38的剑士,一头生命值67的大象。然后,投石车和火枪手之间的战斗将按照正常的方式进行就像前文描述的那样。经验值战斗中的胜利者将获得经验值。注,撤退属于特例,详见后文。在大多数战斗中,经验值的取得是由双方力量的比率决定的。这个参数等于flooriXPValue对方

19、的力量/己方的力量,其中那个iXPValue是在XML文件中定义的。对于所有的标准单位,当他们作为进攻方时,iXPValue取值为4,而作为防守方时,iXPValue取值为2。但是无论双方显示出来的修正后力量包括了各种加成点数和生命值的影响相差有多么悬殊,战斗胜利后所获得的经验值至少为1点。例外:当一个单位发起进攻并在战斗中撤退,那么在任何情况下,他都将获得1点经验值。当然,在这个时候,防守方是不会获得任何经验值的。举例:一个剑士原始力量6在平地上攻击一个矛兵原始力量4。如果剑士获胜,那他将获得2等于floor44/6点的经验值。而如果是矛兵获胜,那么获得3等于floor26/4点经验值。举例

20、:一辆主战坦克原始力量40攻击一个矛兵原始力量4。如果主战坦克获胜胜率:99.999999+%,他会获得1点经验值,而不是由公式算出来的0点等于floor44/40。如果矛兵获胜胜率:!&¥%&#%&,总之就是极低啦。,他将获得20点经验值等于floor240/4。影响现在我准备要探讨一些策略。在阅读本局部之前,先了解一些战斗系统运作的方式是有助于理解的,至少是局部上。当然,这不是必要的。跳跃点由于造成生命值伤害的本质和它区分进攻方和防守方生命值的方式,所以产生了几个天然的跳跃点。当R的取值有一些微小的变化,而相关的胜率却产生了很大的变化。不管你是战斗力较强,而希望有较高胜率,还是战斗力较弱,

21、而需要有个相比照拟好的概率。你都必须对这些关键点有正确的认识。生命值满100的情况为了方便解释,我将描述进攻方和防守方均满生命值的情况。然后再讨论一点关于一方或双方均受伤时的变化。第一点是当防守方的伤害力由15降至14的情况。这发生在进攻方战斗力至少是防守方的1.8倍以上时。这意味着防守方本来需要7次击中就能杀死进攻方,现在那么变为需要8次。当R值高于1.8的时候,进攻方获胜的机率高达99%以上。虽然这不等于说永远不会失败1%也是完全有可能中奖的_,但是这确实意味着非常好的胜率。第二个跳跃点发生在进攻方的伤害力到达25的时候。这说明,进攻方只需要4回合就能够摧毁防守方。做一点简单的数学计算就能

22、够得出,这发生在R=11/7的时候。如果你的战斗力是防守方的1.57142857倍强的时候,超过95%的情况都是你获胜。只要你比对方强的倍数缩水至1.57,那么胜率就会跌到90%。第三个跳跃点出现在防守方的伤害力由17降到16的时候。这是6次击中杀死对方和7次击中杀死对方的区别。这发生在R=43/31的时候,即R值约为1.387。在这个比率以上,进攻方获胜的可能性高于87.5%。当R值低于1.387的时候,进攻方获胜的机率就小于80%了。这是从5/6跳变到4/5。这是有意义的,如果能够使R值到达1.388,那是非常值得去做的。最后一个跳跃点那么是出现在双方比拟势均力敌的战斗。这时即使一个及其微

23、小的力量变化就会造成巨大的变化。任何单位,只要力量高些,甚至只要高出0.01,就将至少有62.3%的机率赢得战斗。这是因为力量较高的单位每次击中造成20点伤害,而力量较低的那一方只能造成19点伤害。5回合杀死对方和6回合杀死对方。这就是造成胜率变化的所有原因。当你从略微强于对方变成略微弱于对方的时候,你的胜率会从62.3%暴跌至37.7%。当双方都是满生命值的单位时,像40%这样的胜率是不可能出现的不考虑先发打击。具体胜率表如下:修正后力量的比率 胜率 R值 1.8 99%+ 1.58-1.79 95%-98% 1.39-1.57 87%-90% 1.25-1.38 75%-80% 1.01-

24、1.25 62%-75% 1.0 50% 0.80-0.99 25%-38% 0.73-0.79 20%-25% 0.64-0.72 10%-13% 0.56-0.63 2%-5% 0.56 1.8 99%+ 1.58-1.79 95%-98% 1.39-1.57 87%-90% 1.25-1.38 75%-80% 1.01-1.25 62%-75% 1.0 50% 0.80-0.99 25%-38% 0.73-0.79 20%-25% 0.64-0.72 10%-13% 0.56-0.63 2%-5% 0.56 1%很明显,尽可能超过某个跳跃点对你来说是很有好处的比方设法到达1.58:1的比

25、率。同时要防止刚好低于某个跳跃点。比方进攻方设法到达0.73:1的比率会比0.72:1的比率好得多举例:4.4对抗6就比4.3对抗6要好得多。这些大概对进攻方获得较好的胜率比拟有帮助。注意:75%那个点并不是跳跃点。我把它弄进来只是为了能够更好地观察的缘故。进攻方/防守方受伤的情况如果其中一个单位受伤了,那么跳跃点的情况就会发生变化。但是无论如何,跳跃点总是存在的。这些点总是出现在某一方的伤害力经过某个跳跃点的时候。我们可以在通过寻找ceiling剩余生命值/n来找到跳跃点这里ceiling表示向上取整。n可以取任意正整数但是,事实上,只有n取值不超过8时比拟有意义。所以,进攻方需要观察防守方

26、的剩余生命值。同理,防守方也要观察进攻方的生命值。举例:一个生命值64的单位攻击一个生命值91的单位。不考虑力量的情况下,我们知道跳跃点将出现在进攻方的伤害力为91,46,31,23,19,16,13,12的时候。那么,伤害力=91是不可能的,而伤害力等于46也是不太可能的。所以就有6个的跳跃点。当然,这是未考虑防守方的生命值的情况。更直白地表示,ceiling(91/1)=91,ceiling(91/2)=46,cei ling (91/3) = 31, ., ceiling (91/8) = 12同样的,对防守方而言,也有跳跃点存在。只不过和前面相比,分子变成了64而已。所以得到64,32

27、,22,16,13,11,10,和8。64是不可能的,而8也是不太可能的。剩下32,22,16,13,11,和10。所以临界的R值从进攻方的角度观察是2.52,1.32.0.90,0.64,0.40,0.32,0.37,0.83,1.57,2.47,3.77,和5.00。出现这么多是因为进攻方的伤害力和防守方的伤害力要分别计算。所以,0.90对应于进攻方伤害力为19的情况。而1.57对应于防守方伤害力为16的情况造成指定伤害数值所需要的R值或者用来防止你受到该伤害数值都总结在下表中取近似的百分数。造成X点伤害所需要的最小比率: R 1/R 伤害力1/5(0.20) 5/1(5.00) 1013

28、/49(0.27) 49/13(3.77) 111/3(0.33) 3/1(3.00) 1219/47(0.40) 47/19(2.47) 1311/23(0.48) 23/11(2.09) 145/9(0.55) 9/5(1.8) 157/11(0.64) 11/7(1.57) 1631/43(0.72) 43/31(1.39) 1717/21(0.81) 21/17(1.24) 1837/41(0.90) 41/37(1.11) 191/1(1.00) 1/1(1.00) 2043/39(1.10) 39/43(0.91) 2123/19(1.21) 23/19(0.83) 2249/37

29、(1.32) 37/49(0.76) 2313/9(1.44) 9/13(0.69) 2411/7(1.57) 7/11(0.64) 2529/17(1.71) 17/29(0.59) 2661/33(1.85) 33/61(0.54) 272/1(2.00) 1/2(0.50) 2867/31(2.16) 31/67(0.46) 297/3(2.33) 3/7(0.43) 3073/29(2.52) 29/73(0.40) 3119/7(2.71) 7/19(0.37) 3279/27(2.93) 27/79(0.34) 3343/13(3.15) 13/43(0.32) 34如图,对所有处于R值处于1.10和1.21之间的情况,进攻方能够造成21点伤害。举例:一个生命值64的斧头兵攻击一个生命值91的矛兵。没有任何加成点数和地形影响。那么斧头兵的修正后力量为51.564/100=4.80。而矛兵的修正后力量为491/100=3.64,R=1.32。矛兵获胜的情况超过48%,而斧头兵只有52%。尽管斧头兵在R值上好似很有利。举例:跟之前一样,但是现在斧头兵有65的生命值,而不是64.斧头兵的修正后力量是4.87,所以R=1.34。现在,矛兵的胜率只有34.4%了,而斧头兵的胜率上升到了65.6%。如何把握住跳跃点其中一个问题是生命值没有

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!