利用Python实现FGO自动战斗脚本,再也不用爆肝啦…

2019-03-12 08:28:48来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折


利用Python实现FGO自动战斗脚本,再也不用爆肝啦~

 

Fate/Grand Order(非的肝不过欧的)作为索尼为了拯救自己不倒闭而开发的面向月厨的骗氪养成抽卡爆肝游戏,居然没有像隔壁《阴阳师》的自动战斗系统(看看别人现在都自带脚本了)。毕竟是懒得肝,就不妨写一个脚本来肝算了,省时省力。

开始

一个战斗脚本,其实可以算是AI的初步了。虽然只是暴力算出造成最大伤害的方案orz。

我们在这里不考虑释放 技能 、 宝具 和 暴击星 这三样非常重要的东西。。。只单纯考虑 克制、 抵抗 和不同种类卡打出的伤害,目标就就是算出伤害最高的组合。

指令卡

战斗界面

要开始,我们首先要分析界面的组成。首先下面是一排指令卡,每张指令卡都有卡的种类(黄色框)和“克制”和“抵抗”的标记(黄色圈)之类的东西。那我们可以把每张指令卡视为一个 对象,然后把它的特点抽象出来。我们可以知道每张卡都有一个 坐标 ,一个 类型 (绿蓝红),一种状态 (无/克制/抵抗),还有在点按是的 顺序 (1/2/3)和 伤害系数 (这个具体有一张表)。

所以我们可以这样做:

利用Python实现FGO自动战斗脚本,再也不用爆肝啦~

 

识别与匹配

利用Python实现FGO自动战斗脚本,再也不用爆肝啦~

 

计算法则

利用Python实现FGO自动战斗脚本,再也不用爆肝啦~

 

实现

利用Python实现FGO自动战斗脚本,再也不用爆肝啦~

 

防封

其实方法很简单,加入随机的点按,和不同的间隔(等待时间)就可以了,点按每张卡有位置的变化,点每张卡之间有变化的间隔,和一些故意的“误触”应该就没问题,其实还可以加上一些长度不同的滑动也是可以的,简单来说就是一堆随机函数而已233

整合

简单来说就是把上面的一堆代码整合到一起就可以了

利用Python实现FGO自动战斗脚本,再也不用爆肝啦~

 

开始界面

识别到这个界面然后点按“Attack”

利用Python实现FGO自动战斗脚本,再也不用爆肝啦~

 

结束界面

识别到“与从者的羁绊”终止脚本

中间就是上面所提到的了。也即是一个不停的循环,直到“结束”界面才终止。有什么其他的就到时候再补充吧OWO

总结

这应该是我搞过最大最复杂的一个项目了,也是第一次接触到一点OOP。然而这个项目还是偏实用性,毕竟没有什么高端的,或者更高效率的算法,这也应该是以后要改进的地方。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小编的支持。python学习交流群 

9

8

4

6

3

2

5

7

9

除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

 


原文链接:https://www.cnblogs.com/qingdeng123/p/10517166.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python数据可视化:网易云音乐歌单!

下一篇:程序员也该懂得“这样就好”