用python做了一个云顶之弈阵容小帮手,让你天天吃鸡

英雄联盟云顶之奕赌狗神器自动拿牌python界面版源码+成品软件 源码功能特点: """ 当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢? 学习Python中有不明白推荐加入交流Q群号:928946953 群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF! 还有大牛解答! """ 1.调用大漠插件实现鼠标后台自动拿牌(调用插件学习) 2.动态爬取官方数据,实时展示阵容和棋子资料(爬虫学习) 3.精心制作qt界面(ui学习) 4.里面还有各种技术干货,大部分我都写... 阅读详情
AI摘要

一款使用Python和遗传算法开发的云顶之弈阵容推荐工具,可根据玩家选择的英雄快速推荐强力阵容。

前言

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

需要Python零基础学习资料的伙伴,可以在公众号【码农资料库】中回复【py】自行领取 包括以下学习资料:

① Python所有方向的学习路线图,清楚各个方向要学什么东西

②Python课程视频,涵盖必备基础、爬虫和数据分析

③ Python实战案例,学习不再是只会理论

④ Python电子好书,从入门到高阶应有尽有

⑤ 华为出品独家Python漫画教程,手机也能学习 ⑥ 历年互联网企业Python面试真题,复习时非常方便

在这里插入图片描述

在这里插入图片描述
爬取相关网站内容获取英雄信息
这一步是可以自己输入的,但是作为一个倔强的程序员,显然不能做这种事(手动狗头)

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

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

结果如下
在这里插入图片描述
另外还保存了英雄的昵称与其对应的id,方便输入(有时候真想不起来英雄的真名啊)
在这里插入图片描述
阵容搭配与得分

建立一个列表,记录各种阵容搭配,需要人口数目,记录铲子能增加的羁绊
在这里插入图片描述
计算英雄阵容与所需金币总数

def teamtype(hero_ids, heros_info):

‘’’

查看阵容,金币

‘’’

team = {}

gold = 0

for hero_id in hero_ids:

gold += heros_info[‘gold’][hero_id]

for job in heros_info[‘info’][hero_id]:

if job in team:

team[job] += 1

else:

team[job] = 1

return team, gold

计算得分时候,不考虑羁绊效果不平衡的情况(我也玩得少…不大了解)

另外,默认组成人口越多,羁绊效果增加得越多(采用平方得分函数)

def calculateTeamScore(team, show= 0, shovel= False):

‘’’

计算队伍得分(铲子)

羁绊得分规则:按达成羁绊人数得分,不考虑羁绊效果不平衡

‘’’

max_score = 0

if shovel:

#计算铲子

change = ‘null’

team_out = {}

for j in shovel_add:

#如果队伍里没有相关职业,跳过(铲子没有单独羁绊)

if j not in team.keys():

continue

team_copy = copy.deepcopy(team)

team_copy[j] +=1

score = calc(team= team_copy, show= 0)

change = change if score <= max_score else j

team_out = team_out if score <= max_score else copy.deepcopy(team_copy)

max_score = max_score if score <= max_score else score

calc(team= team_out, show= show)

return max_score, change

else:

max_score = calc(team= team, show= show)

return max_score, None

遗传算法设计

编码的话,就是用的实数编码

得分函数选择是上面的阵容得分+所需金币数(越贵的英雄越强)

选择策略是得分最高的个体直接复制到下一代,得分最低的9个个体直接全部重抽

上代码:

def GA(team_pnum, selected_ids, heros_info, heros_info_short,gens = 100, sample = 50, alpha = 0.5, shovel= False):

‘’’

team_pnum:你想组成多少人队伍

selected_ids:列表,已经选定哪些英雄

heros_info:英雄信息

heros_info_short:英雄名称缩写信息

gens:最大繁殖多少代

sample:每代繁衍个体数

alpha:金钱影响程度(值越大,越偏向便宜的英雄)

‘’’

selected_ids = getHeroid(selected_ids,heros_info_short= heros_info_short)

hero_info_cp = copy.deepcopy(heros_info)

k = len(selected_ids)

n = team_pnum - k

hero_couldchose = hero_info_cp[‘hero_id’]

for idxs in selected_ids:

hero_couldchose.pop(hero_couldchose.index(idxs))

#生成第一代

scores = {

‘chosed_ids’:[],

‘score’:[]

}

for i in range(sample):

hero_thisGenCouldChose = copy.deepcopy(hero_couldchose)

random.shuffle(hero_thisGenCouldChose)

teamChoesd = selected_ids + hero_thisGenCouldChose[:n]

team, gold = teamtype(teamChoesd, hero_info_cp)

score,change = calculateTeamScore(team,shovel= shovel)

#print(‘<================================>’)

score = score * 10 - gold * alpha if score > 0 else 0

scores[‘chosed_ids’].append(teamChoesd)

scores[‘score’].append(score)

#开始繁衍

maxscores = []

for gen in range(gens):

scores_thisgen = {

‘chosed_ids’:[],

‘score’:[]

}

#最优的个体直接保存

score_max_idx = scores[‘score’].index(max(scores[‘score’]))

scores_thisgen[‘chosed_ids’].append(scores[‘chosed_ids’][score_max_idx])

scores_thisgen[‘score’].append(scores[‘score’][score_max_idx])

#最差个体的直接重置掉(重复9次)

for i in range(9):

#重排、重选序号

random.shuffle(hero_thisGenCouldChose)

teamChoesd= selected_ids + hero_thisGenCouldChose[:n]

#重新赋值

score_min_idx = scores[‘score’].index(min(scores[‘score’]))

scores[‘chosed_ids’][score_min_idx] = teamChoesd

scores_thisgen[‘chosed_ids’].append(teamChoesd)

#计算得分

team, gold = teamtype(teamChoesd, hero_info_cp)

score,change = calculateTeamScore(team, shovel= shovel)

score = score * 10 - gold * alpha if score > 0 else 0

scores[‘score’][score_min_idx] = score

scores_thisgen[‘score’].append(score)

#计算累积概率

p = [0]

totalScores = sum(scores[‘score’])

for i in range(2,sample):

p.append(p[-1] + scores[‘score’][i]/totalScores)

#根据轮盘赌法生成新一代个体

for i in range(sample):

#有莫名bug找不到双亲,所以先赋值,如果后面找到了会被覆盖

Dad = scores[‘chosed_ids’][0]

Mom = scores[‘chosed_ids’][-1]

#选父体

rnd = random.random()

for theone in range(len§):

if p[theone] > rnd:

Dad = scores[‘chosed_ids’][theone - 1]

break

else:

continue

#选母体

rnd = random.random()

for theone in range(len§):

if p[theone] > rnd:

Mom = scores[‘chosed_ids’][theone - 1]

break

else:

continue

#求并集

dadmon = list(set(Dad[k:]) | set(Mom[k:]))

random.shuffle(dadmon)

baby = selected_ids + dadmon[:n]

#求得分

team, gold = teamtype(baby, hero_info_cp)

score,change = calculateTeamScore(team, shovel= shovel)

score = score * 10 - gold * alpha if score > 0 else 0

scores_thisgen[‘chosed_ids’].append(baby)

scores_thisgen[‘score’].append(score)

maxscores.append(max(scores_thisgen[‘score’]))

#保存这代信息

scores = copy.deepcopy(scores_thisgen)

#取出最佳个体

besTeam = scores[‘chosed_ids’][scores[‘score’].index(max(scores[‘score’]))]

return besTeam, maxscores

运行结果

在这里插入图片描述
效果还不错,大概几秒钟就能运行出结果,不影响游戏进度同时为不熟悉python的小伙伴做了个双击直接运行版本

双击,cmd里根据提示输入参数即可

(至少需要安装pandas库,命令:pip install pandas)
在这里插入图片描述

python 实现记牌器原理 python实现记牌器 阅读详情

相关推荐

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

前言: 从自走棋开始火了之后,很多人也料到了LOL版的自走棋肯定会大火,单单从用户这方面来说,大火的趋势肯定会越烧越旺。这不,今天为大家带来的内容是用python写个云顶之弈阵容助手,助你今晚“吃鸡”(遗传算法) LOL云顶之弈人工智障助手 爬取相关网站内容获取英雄信息,阵容搭配与得分,遗传算法设计,运行结果,完整代码——Github欢迎star。 概述 本人云顶新手,好多年不玩LOL了...

weixin_41334453的博客 2183

云顶之弈阵容助手-基于遗传算法

LOL云顶之弈人工智障助手概述爬取相关网站内容获取英雄信息阵容搭配与得分遗传算法设计运行结果完整代码——Github欢迎star 概述 本人云顶新手,好多年不玩LOL了,被朋友安利云顶之弈,玩了两天觉得有点意思。但是这个游戏阵容可搭配太多了,如果不是天天研究这个游戏的,很难吃鸡。所以我就心血来潮想写个阵容助手(python),给定几个你想玩的英雄,基于遗传算法向玩家推荐阵容。目前适配9.19版本,...

weixin_39982211的博客 1万+

云顶助手自动拿牌,自动操作,三星卡不是梦-易语言

继上个贴继续做出更新。 https://bbs.125.la/thread-14501671-1-1.html 模块支持库在上个贴内下载。 本次调用了乐玩模块 (也就是图色) 【闲来无聊怼另外一个被禁言贴的助手。 】 那做得东西是真的腊鸡, PS真不是我喷他, 就一个界面没实体功能? 此次更新了自动拿牌功能, 当然D牌需要手动。 其实无聊可以更新个云顶喊话的功能,或者emmmmm??? 话不多说,上图上源码。 且行且珍惜,只为开源交流,如有封hao等问题自行处理。 不会用源码的别担心,成品也在里面,楼下附上20张小卡。

Python脚本实现云顶之弈自动挂机刷局数!这操作怎么说?

使用方法 首先把脚本文件夹scs中的end.jpg替换为你自己召唤师ID的截图(注意:最好是一把云顶打完后结算界面时,去截左上角自己ID的图片,否则有可能导致最后检测不到你的召唤师ID图片,然后脚本卡住,不能自动下一局。),图片文件名不要改变。2.增加了匹配过长时间后,重新匹配的功能,防止出现以下的情况: 当时晚上睡觉前开始挂机,一觉醒来,给我看懵逼了(手动捂脸)。因为实际测试的时候,pyautogui库模拟鼠标没遇到什么问题,但是模拟键盘的时候,在游戏中响应不了,所以使用keyboard库来模拟键盘。

weixin_55154866的博客 6649

云顶之弈小工具TFT.Overlay.V2.0.2

TFT.Overlay.V2.0.2 更新内容如下: 1.全屏显示 2.游戏版本更新到9.14B 3.修复了自动更新程序 4.语言更新

5分钟搞定kkFileView 4.4.0 Docker部署:小白也能上手的完整配置流程

本文提供了一份针对kkFileView 4.4.0版本的Docker部署完整指南。通过使用预构建的Docker镜像,即使是新手也能在5分钟内完成文件预览服务的搭建,涵盖从环境准备、镜像拉取、容器启动到服务验证的全流程,并分享了进阶配置与生产环境优化建议。

mango的博客 526

java/php/node.js/python电影推荐网站【2024年毕设】

springboot基于springboot的校园招聘管理系统。springboot基于Android的便民公共自行车管理系统。springboot基于SpringBoot的宠物门诊系统。springboot基于Android的学习生活交流APP。springboot基于移动终端的校园二手交易系统app。springboot基于微信小程序的古诗词学习阅读平台。springboot基于java的校园疫情管理系统。ssm基于vue的高校宿舍报修系统的设计与实现。springboot婚车租赁系统的设计与实现。

ahbysj001的博客 970

尚硅谷课程【笔记】——大数据之Shell【一】

【【尚硅谷】Shell脚本从入门到实战】笔记

n04j04h06的博客 1319

ssm/java/node/python/php基于SSM框架烟草库存管理系统的设计与实现【2024年毕设】

springboot基于Springboot的在线教育平台的设计与实现。springboot基于springboot的社区家庭医疗档案管理系统。springboot基于JavaEE技术的大学生兼职平台的设计实现。springboot基于微信小程序的付费厨房管理系统的设计与实现。springboot基于Springboot的营养配餐评价系统。springboot基于Android的医疗预约APP。springboot基于微信小程序的线下剧本杀管理系统。springboot基于Android的电子商城。

铁川毕设程序 188

基于Cesium的北斗卫星轨道实时可视化系统开发实践

本文详细介绍了基于Cesium的北斗卫星轨道实时可视化系统开发实践,涵盖系统架构设计、轨道计算实现、后端服务开发及前端可视化实现等关键环节。通过优化算法和数据流设计,系统实现了厘米级精度的卫星轨道实时渲染,适用于导航卫星系统的科研与工程应用。

j7k8l的博客 520

HIL(硬件在环)技术汇总梳理

HIL(Hardware-in-the-Loop)测试领域的知名公司有dSPACE、NI、Vector和speedgoat等,本文是针对这几家HIL技术的对比分析。

Mr.Cssust的博客 3687

云顶之弈下累了——就来看看C语言函数吧!

C语言函数各种类型讲解

shinan_1107的博客 289

NXP S32K1 SPI驱动实战:从配置到DMA传输的完整流程解析

本文深入解析了NXP S32K1系列MCU的SPI驱动开发全流程。基于S32 Design Studio环境,详细阐述了从引脚配置、LPSPI模块初始化,到实现阻塞、中断及DMA三种传输模式的实战代码与配置要点。文章重点剖析了DMA传输的配置细节与性能优化,旨在帮助开发者构建高效、稳定的嵌入式SPI通信,并提供了SPI Flash驱动的综合案例。

blue42的博客 716

告别手忙脚乱?这款《云顶之弈》辅助工具让你的胜率飙升![特殊字符][特殊字符]

> **系统要求**:Windows 10/11,.NET Framework 4.7.2 > **更新频率**:游戏版本更新后48小时内同步适配 [![工具主界面](https://raw.gitcode.com/gh_mirrors/tf/TFT-Overlay/raw/dbbaf66e505232cb181371adba4d6cdc858ec47d/Images/cstyle/Clas

gitblog_01066的博客 1610

AI驱动的CNC闭环加工系统:边缘实时控制与IIoT反馈实践

闭环控制是工业自动化的核心概念,指通过实时反馈调节系统输出以逼近目标值;其技术原理在于构建短于被控对象时间常数的确定性反馈链路,从而保障动态响应精度与稳定性。在智能制造落地中,AI正从离线分析工具演进为嵌入式实时决策单元,其核心价值在于将工艺知识模型化、控制指令轻量化、执行路径边缘化。典型应用场景包括CNC加工过程中的振动自适应调参、刀具磨损在线补偿及多机协同优化。本实践聚焦FANUC 0i-MF平台,基于Modbus TCP硬实时通信与轻量LSTM+CNN融合模型,实现217毫秒级AI推理与PMC寄存器直

weixin_29704001的博客 323

Authentication Assertion Tickets,SAP 系统到系统单点登录里的短命凭证

SAP 系统间的身份传递机制存在 Authentication Assertion Ticket 和 SAP Logon Ticket 两种易混淆的凭证。前者用于系统间短时身份委托(有效期2分钟,通过HTTP头传输),后者用于浏览器SSO(可配置有效期,通过Cookie传输)。Assertion Ticket依赖签发系统的数字签名和严格的时间同步,适用于ABAP/Java系统间的后台作业调用。现代SAP架构已转向OAuth 2.0等标准协议,但老系统中仍需注意两种票据的关键差异:传输方式、有效期、接收方限制

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 602

python游戏辅助lol_某顶之奕赌狗神器自用自动拿牌,python界面版全部源码以修复bug...

[Python] 纯文本查看 复制代码import sys,mainInterface,requests,os,SquadList,strategyForm,souPaiJieZou,zhengrongZWFormfrom PyQt5.QtWidgets import QApplication,QMainWindow,QVBoxLayout,QLabel,QFrame,QAbstractItemV...

weixin_39549852的博客 671

SAP-MM:SAP MM(物料管理)模块 的系统化学习计划

SAP MM模块的系统化学习计划

baidu_35680696的博客 1547

Python与LOL云顶之弈

python与LOL的相遇!!!哗哗哗,全是火花

qq_43372178的博客 948

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

(附源码)python云顶之弈数据分析系统 毕业设计451545

(1)用户注册登录:用户注册为用户并登录基于Python云顶之弈数据分析系统;用户对个人信息的增删改查,比如个人资料,密码修改。 (2)查看基于Python云顶之弈数据分析系统的首页信息:基于Python云顶之弈数据分析系统的首页信息包含了首页、公告消息、云顶论坛、云顶资讯、天梯排行、奕子数据库、我的(我的账户、个人中心)等。 (3)公告栏:在首页导航栏上我们会看到“网站论坛”这一菜单,我们点击进入进去以后,会看到所有管理员在后台发布的公告信息; (4)云顶资讯:在首页导航栏上我们会看到“云顶资讯”这一菜单

WeiXin_DZbishe的博客 2268

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

(附源码)python基于scrapy的云顶之弈数据分析系统 毕业设计 451545

普通用户管理模块: (1)用户注册登录:用户注册为用户并登录基于Python云顶之弈数据分析系统;用户对个人信息的增删改查,比如个人资料,密码修改。 (2)查看基于Python云顶之弈数据分析系统的首页信息:基于Python云顶之弈数据分析系统的首页信息包含了首页、公告消息、云顶论坛、云顶资讯、天梯排行、奕子数据库、我的(我的账户、个人中心)等。 (3)公告栏:在首页导航栏上我们会看到“网站论坛”这一菜单,我们点击进入进去以后,会看到所有管理员在后台发布的公告信息; (4)云顶资讯……

Q_3461074420的博客 1182

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

开源!LOL云顶拿牌赌狗神器python精心大制作

介绍: LOL云顶之奕智能后台拿牌,赌狗神器python精心大制作 源码功能特点: 1.调用大漠插件实现鼠标后台自动拿牌(调用插件学习) 2.动态爬取数据,实时展示阵容和棋子资料(爬虫学习) 3.精心制作qt界面(UI学习) 4.里面还有各种技术干货,大部分我都写了备注(主要自己看到全是英文也很难马上进入状态,所以写的详细点) 5.**操作搜索数据(灵活运用python特性主要在搜索符合条件的英雄上体现出来的 学习代表 goneng.py Hero_filter ) 6.装备大全暂时还没写(慢慢来,不想凑合

工具下载 1100

什么lol云顶之奕小助手小蜜蜂肝不完了?让万能的python来帮你

前言 最近的小蜜蜂路线皮肤非常可爱,但是上班族又没时间刷刷刷。 瞬间想到万能的python来代替本人肝皮肤。 核心库PyAutoGui pyautogui介绍 项目地址 https://github.com/asweigart/pyautogui 文档地址 https://pyautogui.readthedocs.io/en/latest/ Python的win下的自动化框架PyAutoGui 可以代替本人做点击 等操作 基本操作 比如呢 鼠标左击 右击 双击 等事件 也可以键盘的敲击事件 >&gt

HURUWO的技术博客 700

【亲测免费】 Python加CH9329模块实现云顶之弈自动刷局数

Python加CH9329模块实现云顶之弈自动刷局数 【下载地址】Python加CH9329模块实现云顶之弈自动刷局数 本资源文件提供了一个使用Python和CH9329模块实现《云顶之弈》自动刷局数的脚本。该脚本旨在帮助玩家自动完成游戏中的对局,节省时间和精力 ...

gitblog_06509的博客 801
上一篇: 自学爬虫分布式,我需要掌握哪些Python基础?附赠视频资料
下一篇: Python接私活,兼职也可以月薪过万,会技术就可走遍天下
黑客老许
博客等级 码龄8年 6153粉丝 1028原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值