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

您所在的位置:网站首页 云顶之奕辅助软件 用python做了一个云顶之弈阵容小帮手,让你天天吃鸡

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

2024-06-20 01:56| 来源: 网络整理| 查看: 265

前言

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

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

一开始选的是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

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所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

资料领取

这份完整版的Python全套学习资料已为大家备好,朋友们如果需要可以微信扫描下方二维码添加,输入"领取资料" 可免费领取全套资料【有什么需要协作的还可以随时联系我】朋友圈也会不定时的更新最前言python知识。↓↓↓ 或者 【点此链接】领取

好文推荐

了解python的前景:https://blog.csdn.net/weixin_49895216/article/details/127186741

了解python能做什么:https://blog.csdn.net/weixin_49895216/article/details/127124870



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3