攻击次数计算-新闻详情

攻击次数计算


发布时间:2021-05-31责任编辑:朱明 浏览:2031


前两天看到一道数值相关的题。

Q:游戏里玩家对怪物的普通攻击伤害为10,命中率为80%,暴击时伤害为普通攻击的3倍。如果怪物生命值为200,球玩家平均需要多少次攻击才能杀死怪物?

 

很明显,这是要计算玩家攻击次数的期望。在此之前,先要明确情境中伤害计算的逻辑。是先进行命中判断还是暴击判断?情境中并无法判断出伤害逻辑,所以对两种情况分开计算。

 

1.  先命中后暴击

先判断攻击是否命中,如果命中再判断攻击是否造成暴击。

首先列出玩家每次攻击时所有可能出现的情况、出现概率、造成的伤害。

1.png

然后根据造成伤害和概率算出伤害的期望值

2.png

伤害期望值为14.4,即在所有可能的情况下,玩家平均每次攻击会造成14.4的伤害值。

最后根据伤害值期望,算出平均攻击次数:

200/14.4=13.88889,即14次。

2.  先暴击后命中

先判断是否造成暴击,如果未暴击再判断是否命中。也就是说,在这个逻辑里,暴击是直接命中的。

和上面一样,先列出玩家每次攻击时所有可能出现的情况、出现概率、造成的伤害。

3.png

然后按照上面的方法,算出伤害期望和攻击次数。

4.png

伤害期望是16.8,攻击次数是200/16.8,11.90476次,即12次。

 

对比分析

两种逻辑都是在时间先后上依次对命中和暴击进行判断,便于玩家理解,但是一个属性的实际效果又会受到另一个属性影响,两种逻辑强调的属性价值不同。

第一种强调命中,相对的暴击属性价值就会降低,暴击效果出现的实际概率为32%,比40%要低。

第二种则强调的是暴击,暴击属性的影响效果要大于命中,暴击属性是“自带命中”的,这就挤压了命中属性的价值。

 

在实际应用中,策划可以根据想要强调的属性效果来选择相应的计算逻辑。此外,还有将所有可能结果一起列出,然后按照权重来生成结果的方式,在此不做讨论。


游戏部