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

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

开始

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

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

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

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

所以我们可以这样做:

利用Python实现FGO自动战斗脚本,再也不用爆肝啦~
识别与匹配
利用Python实现FGO自动战斗脚本,再也不用爆肝啦~
计算法则
利用Python实现FGO自动战斗脚本,再也不用爆肝啦~
实现
利用Python实现FGO自动战斗脚本,再也不用爆肝啦~
防封

其实方法很简单,加入随机的点按,和不同的间隔(等待时间)就可以了,点按每张卡有位置的变化,点每张卡之间有变化的间隔,和一些故意的“误触”应该就没问题,其实还可以加上一些长度不同的滑动也是可以的,简单来说就是一堆随机函数而已233,python学习关注我们企鹅qun: 8393 83765 各类入门学习资料免费分享哦!

整合

简单来说就是把上面的一堆代码整合到一起就可以了
利用Python实现FGO自动战斗脚本,再也不用爆肝啦~
开始界面

识别到这个界面然后点按“Attack”
利用Python实现FGO自动战斗脚本,再也不用爆肝啦~
结束界面

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

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

总结

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

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,同时如果你跟我一样都喜欢python,想成为一名优秀的程序员,也在学习python的道路上奔跑,欢迎你加入python学习群:839383765 群内每天都会分享最新业内资料,分享python免费课程,共同交流学习,让学习变(编)成(程)一种习惯!

猜你喜欢

转载自blog.51cto.com/14186420/2350757