我用python玩炉石传说(1)-----炉石卡牌相关度分析的手动打分器
本文共三个部分:
1,我用python玩炉石传说(1)-----炉石卡牌相关度分析的手动打分器
2,我用python玩炉石传说(2)-----炉石卡牌套牌爬取器及自动分析卡牌相关度
3,我用python玩炉石传说(3)-----炉石卡牌套牌自动构建算法
引言:
卡牌之间的相关度、combo之间的耦合程度直接决定一个卡组的好坏,例如之前的治疗园,卡牌耦合度高,出牌十分顺畅,即使尘数少,但质量依然高。
另外,卡牌之间的相关度缺乏一定的分析方法,往往靠想象与记忆,效果较差,因为套牌组到后头往往会忘记自己的核心机制,或在核心机制穿插太多其他无关combo,缺乏定量分析。这就十分考验玩家的经验了或是考验玩家耐心与尘量了。
于是我自己花了几周时间用python做了个qt界面,用于手动打分相关度。之后,发现工作量较大,就另外想了个方式,利用爬虫爬取其他玩家的套牌卡组,通过一些NLP中分析词相关性的方法,自动分析卡牌相关度。相关度效果不错,但在组套牌时发现,即使知道相关度也很难组出高质量的卡牌,所已有自己写了个简单的算法,完成套牌的自动构建。
分析环境:
2019年4月6日最新上线的暗影达拉然。本人只玩术士,所以所有数据与套牌都是术士的(个人认为术士是9个职业里,重复率最低的、变数、套路与花式最多,也是最难开发的),当然程序改成其他职业也不是问题。
一,卡牌的相关度分析,手动打分方式
通过pyqt编写分析界面,可以通过中间打分器,自己手动打分。
总共0到5分,分越大相关度越大
0:不相关,1:间接相关,2:直接相关或直接可触发,3:一般组合,4:不错的组合,5:combo
手动打分方式依靠的是打分人自己的想象能力与基本的炉石能力,优点就是比自动分析准确且分析面广,所有卡牌都会打分。缺点就是工作量较大,术士卡组有390张可选择,那全部手动打一遍分,粗略估计需要一周时间。(我一张卡牌打了30分钟)
(上图表示,左栏选中灵魂灌注,右栏为相关度从高到低的排序,中间为卡牌介绍及手动打分器)
二,程序部分
1,获取所有卡牌信息
readjson.py
可以下载所有卡牌中文信息的json文件,链接https://api.hearthstonejson.com/v1/30103/zhCN/cards.collectible.json
具体如何使用可以参考https://hearthstonejson.com/ ,网站的介绍,有说明字段的意思
{"artist":"AlexHorley","attack":7,"cardClass":"WARLOCK","collectible":true,"cost":7,"dbfId":52119,"elite":true,"flavor":"所有随从在下班出门之前必须搜身。","health":8,"id":"DAL_422","mechanics":["BATTLECRY","TAUNT"],"name":"至尊盗王拉法姆","rarity":"LEGENDARY","set":"DALARAN","text":"<b>嘲讽</b>\n<b>战吼:</b>将你的手牌和牌库里的卡牌替换为<b>传说</b>随从。","type":"MINION"}
2,相关性矩阵
relatmatrix.py
总共390张牌,用numpy构建390X390的矩阵,用于存放每张卡牌对应其他389张卡牌相关度分数。
3,分析界面QT
gui.py
看代码吧,比较简单,代码写得很丑,有bug
代码链接:https://github.com/GladosAI/hearthstone-card-correlation-analys
因为是个人兴趣爱好,一直想做这样一个东西,好玩。但比较精力有限,所以比较简单,快速实现,代码写得十分丑陋,另外,我的python学的确实一般。所以欢迎相同爱好者可以一起来完善。
推荐一个高级炉石项目网站:https://hearthsim.info/ ,有些挺高级,例如模拟运行,可直接仿真对战,对研究卡牌构建十分有意义,不过好像挺长时间没更新了。
下一章,我用python玩炉石传说(2)-----炉石卡牌套牌爬取器及自动分析相关度
我用python玩炉石传说(1)-----炉石卡牌相关度分析的手动打分器相关推荐
- 利用浏览器缓存抓取网络资源:【炉石传说】所有卡牌png图片地址
有的时候我们在网络上看到很好的资源,想要抓取,却苦于没有好的手段.今天我就来介绍一下通过chrome浏览器缓存抓取的方法. 大家都知道,浏览器把网页展示给我们看的时候,会先将页面上的所有图片等资源下载 ...
- 我用python玩炉石传说(2)-----炉石卡牌套牌爬取器及自动分析卡牌相关度
本文共三个部分: 1,我用python玩炉石传说(1)-----炉石卡牌相关度分析的手动打分器 2,我用python玩炉石传说(2)-----炉石卡牌套牌爬取器及自动分析卡牌相关度 3,我用pytho ...
- 计算机网络之危机四伏,炉石传说最后的爆牌贼 奥术巨人危机四伏流分享
炉石 传说最后的爆牌贼 奥术巨人危机四伏流分享 虽然由于 海盗 战和青玉德盛行,使得爆牌贼生存环境更为恶劣,但是在外服还是有人在最后坚持标准爆牌套路,下面一起来看看 奥术巨人危机四伏爆牌贼. 炉石传说 ...
- 炉石传说服务器维护有补偿吗,炉石传说维护(炉石传说维护公告全文及具体补偿方案 炉石数据回档怎么补偿?)...
炉石传说维护(炉石传说维护公告全文及具体补偿方案 炉石数据回档怎么补偿?),哪吒游戏网给大家带来详细的炉石传说维护(炉石传说维护公告全文及具体补偿方案 炉石数据回档怎么补偿?)介绍,大家可以阅读一下, ...
- python hook pc微信_一起来用python玩一波微信呀 | 防撤回, 好友分析, 聊天机器人~...
原文链接一起来用python玩一波微信呀 | 防撤回, 好友分析, 聊天机器人~mp.weixin.qq.com 导语 众所周知,前段时间微信彻底关闭了网页版微信登录入口.于是一大波基于itchat ...
- 整活插件 炉石传说_炉石传说:国服再搞大动作?官方插件神秘新功能压力测试开启...
一入酒馆深似海,从此萌新变大神.大家好,我是酒馆店小二!据说点了关注的炉友,天天都能开橙卡,月月都能上传说哦~ 今天小二从营地看到了一则比较新奇的新闻,是关于炉石传说官方插件的.据悉,<炉石传说 ...
- 整活插件 炉石传说_炉石新bug的经验和金币补偿!新版本落差最大的三张橙卡,两张生不逢时...
先来说一下官方最新的热修补丁: 修复了某些玩家任务日志空白且无法收到任务的bug,受影响的玩家将在不久后获得经验补偿: 修复了英雄对决模式没有经验的bug,受影响的玩家将在不久后获得缺失经验的补偿: ...
- 炉石传说 java_炉石传说 java实现
试题编号: 201609-3 试题名称:炉石传说 时间限制:1.0s 内存限制:256.0MB 问题描述: 问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of ...
- 炉石传说|炉石战棋|整活脚本
先放脚本内容: ::https://baijiahao.baidu.com/s?id=1665560383633884294&wfr=spider&for=pc ::https://w ...
最新文章
- IEEE迎来首位华人主席,马里兰大学终身教授刘国瑞当选
- Openssl自签名证书
- (笔试题)不用除法操作符,实现两个整数的除法
- 201521123079 《Java程序设计》第1周学习总结
- SAFESEH 映像的模块不安全
- sun服务器清理内存日志_sun服务器系统日志
- 华为P50外观定了:居中挖孔
- c/c++ 数组和指针
- Vienna大学5G链路级仿真平台简介
- excel只计算隐藏不计算机,excel计算公式求和_excel中如何让隐藏数据不参与求和计算?_excel表格数据求和...
- Jxls使用模版导出excel表格公式无法自动计算失效解决
- *16.5 shared_ptr使用场景、陷阱、性能分析与使用建议
- 名字中间一条线怎么弄_怎么在网名中间画一条横线 一条横线穿过字的网名
- jquery editplus
- 为什么要学习科学的方法论
- 为什么淘宝京东的首页这么快
- java最常见的三种问题,404,500以及无法访问
- 基于MATLAB的带噪图像的高斯滤波
- android开发笔记之APK大小优化
- win7 联想一键恢复工程师版7.0安装笔记