Post

游戏中的数学——以炉石传说为例

众所周知,数学是一门基础学科,在很多地方都能用得到,实际上在游戏中,也包含了许多数学的内容。
在炉石传说中,解场一直是个很重要的问题,但是如何最高效的解场则是需要去用到数学中的线性规划的。也就是在不考虑特殊效果、英雄技能等的情况下如何最大化收益,其实转为线性规划问题就是在友方随从都攻击的情况下,如何使得剩余的友方随从的数量更多并且剩余血量最大。

例如在这种情况下,假设场上都是白板,那么最优解肯定是3/6撞3/3,两个1/2撞2/2。\

但是有时候情况会很复杂:

玩炉石传说的都知道教科书般的亵渎,亵渎是一张法术牌,效果如下:

也就是说,当场上随从的血量为1,2,3,4,5的时候,使用亵渎就能全部解掉。
但是有时候在复杂的情况下进行计算就没那么容易了,如下是教科书般的亵渎的名场面:

也就是在这个情况下能否通过英雄技能+随从交换+亵渎的方式清空所有场面,其中英雄技能能够造成3点伤害,3/9的效果如下:

亡语意思是死亡后触发的效果,是召唤3个1/3,例如,当这个3/9只有1血的时候,在第一次亵渎之后会死亡并召唤3个1/3,也就是说既可以把它看作1也可以看作4。
那么接下来就是看能否能通过亵渎解掉这个场面

(1) 己方5/1撞对方第二个3/9$\rightarrow$3/9变为3/4
(2) 技能攻击对方第三个3/9$\rightarrow$3/9变为3/6
(3) 己方2个1/3攻击对方一个1/3$\rightarrow$己方2个1/3变为1/2,对方1/3变为1/1
(4) 己方剩余4个1/3撞对方第五个3/9$\rightarrow$3/9变为3/5

这样最后剩下的场面为己方2个1/2,对方1个1/1,一个5/4,两个1/3,一个3/4,一个3/5,一个3/6(随从顺序不影响效果)

随从顺序没有影响

这样,根据上图看血量,依次为:
对方:4(7)、3、3、4、1、6(9)、5(8)$\large\rightarrow$1、3、3、4、4(7)、5(8)、6(9)
己方:2、2
这样的话,1、2、3、4、5、6、7、8、9都有了,显然亵渎可以解光场面。

This post is licensed under CC BY 4.0 by the author.