计算机系统应用教程网站

网站首页 > 技术文章 正文

用python写个云顶之弈阵容助手,助你今晚“吃鸡”(遗传算法)

btikc 2024-11-15 16:33:29 技术文章 2 ℃ 0 评论

前言:

从自走棋开始火了之后,很多人也料到了LOL版的自走棋肯定会大火,单单从用户这方面来说,大火的趋势肯定会越烧越旺。这不,今天为大家带来的内容是用python写个云顶之弈阵容助手,助你今晚“吃鸡”(遗传算法)

LOL云顶之弈人工智障助手

爬取相关网站内容获取英雄信息,阵容搭配与得分,遗传算法设计,运行结果,完整代码——Github欢迎star。

概述

本人云顶新手,好多年不玩LOL了,被朋友安利云顶之弈,玩了两天觉得有点意思。但是这个游戏阵容可搭配太多了,如果不是天天研究这个游戏的,很难吃鸡。所以我就心血来潮想写个阵容助手(python),给定几个你想玩的英雄,基于遗传算法向玩家推荐阵容。目前适配9.19版本,不过后面有新阵容出现的话,改起来也方便。增加铲子功能,不过只能增加一个(增加两个的话计算量大,不够实时性)

爬取相关网站内容获取英雄信息

这一步是可以自己输入的,但是作为一个倔强的程序员,显然不能做这种事(手动狗头)

一开始选的是lol官网…搞半天都搞不出来(技术不够,泪目)

后来发现还是多玩好爬一点

结果如下

另外还保存了英雄的昵称与其对应的id,方便输入(有时候真想不起来英雄的真名啊)

阵容搭配与得分

建立一个列表,记录各种阵容搭配,需要人口数目,记录铲子能增加的羁绊

计算英雄阵容与所需金币总数

计算得分时候,不考虑羁绊效果不平衡的情况。另外,默认组成人口越多,羁绊效果增加得越多(采用平方得分函数)

接下来是:遗传算法设计

编码的话,就是用的实数编码,得分函数选择是上面的阵容得分+所需金币数(越贵的英雄越强)选择策略是得分最高的个体直接复制到下一代,得分最低的9个个体直接全部重抽上代码:

结果运行得出:

效果还不错,大概几秒钟就能运行出结果,不影响游戏进度,同时为不熟悉python的小伙伴做了个双击直接运行版本,双击,cmd里根据提示输入参数即可。

(至少需要安装pandas库,命令:pip install pandas)

以上就是本文的全部内容啦!

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,面试宝典等。想要这些资料的可以关注小编,并在后台私信小编:“07”即可领取。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表