炉石传说 > 玩家心情 > 论如何科学算出炉石传说中克苏恩的斩杀

论如何科学算出炉石传说中克苏恩的斩杀

[复制链接]
[加入收藏][跟贴评论]
发布时间:16-06-12 10:48 来源:微博 作者:小范范范范er
今天在微博上看到博主Forever_XG发的一条微博,由于最近在初步入门Python,所以正好想实际操作一下.

玩家心情 斩杀 高考 克苏恩

今天在微博上看到博主Forever_XG发的一条微博,由于最近在初步入门Python,所以正好想实际操作一下

论如何科学算出炉石传说中克苏恩的斩杀

前言:因为端午节回家没有电脑只能使用iPad进行编程,所以用不了别人造的轮子。方法比较拙劣。请同写代码的小伙伴轻喷😂

分析问题:

因为我已经基本忘记了概率论的知识,所以这次采取以数量战胜敌人的策略,原理是,模仿每一次克苏恩战吼的效果,重复十万次。以十个十万次作为一组,分析出大概概率

不说废话上代码:

论如何科学算出炉石传说中克苏恩的斩杀

论如何科学算出炉石传说中克苏恩的斩杀

大概意思就是把对面的场面看成一个一维数组,首先提取出来有效打击对象,包括敌方英雄,血量不为零的奴隶主,存放在hitwho中。从有效打击对象中随机抽出一个作为一次打击对象,有四种结果:

打战士脸上了,打死了

打战士脸上了,战士没死

打奴隶主身上了,生了个奴隶主

打奴隶主身上了,但是已经满场了

简单的写出几个if语句判断一下四种情况就行,第一种直接死亡,死亡标示变为一。第二种血量减一。第三种奴隶主血量减一,在数组后面新插入一个满血奴隶主。第四种奴隶主血量减一,不插入新奴隶主。这样就完成了一次克苏恩打一的模拟操作。代码段二中内部for循环循环二十次,模拟出二十攻的克苏恩战吼效果如果战士被打死了,死亡计数器加一。最外层循环循环十万次,(是因为在线编译机能所限,只能到十万次)统计十次得到如图

论如何科学算出炉石传说中克苏恩的斩杀

大概可以发现,每十万次模拟操作,战士死亡的次数在1400上下浮动。一共统计了一百万次,基本可以贴近真实概率。为了验证程序是否正确,输入一个特例试一下。一个攻击力为31的克苏恩理论上一定能打死十滴血的战士。

论如何科学算出炉石传说中克苏恩的斩杀

把cTun的攻击力改为三十一,验证一下十万次模拟操作的结果

论如何科学算出炉石传说中克苏恩的斩杀

验证我得猜想正确

后记:

发现算法有错误的小伙伴一定要赶紧私信我,要不这么挂着可太丢人了,然后我炉石菜的抠脚,打的时候从来不算计。这个就是为了好玩才做的,水平不高,有意见就过来打我啊😉

【责任编辑:小冰块】

发表评论

站内搜索:
关于52PK | 市场合作 | 诚聘英才 | 联系我们 | 版权声明
Copyright © 2002-2019 52PK.COM 版权所有 52PK网 沪ICP备15013661号-10