本文共三个部分:

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)-----炉石卡牌相关度分析的手动打分器相关推荐

  1. 利用浏览器缓存抓取网络资源:【炉石传说】所有卡牌png图片地址

    有的时候我们在网络上看到很好的资源,想要抓取,却苦于没有好的手段.今天我就来介绍一下通过chrome浏览器缓存抓取的方法. 大家都知道,浏览器把网页展示给我们看的时候,会先将页面上的所有图片等资源下载 ...

  2. 我用python玩炉石传说(2)-----炉石卡牌套牌爬取器及自动分析卡牌相关度

    本文共三个部分: 1,我用python玩炉石传说(1)-----炉石卡牌相关度分析的手动打分器 2,我用python玩炉石传说(2)-----炉石卡牌套牌爬取器及自动分析卡牌相关度 3,我用pytho ...

  3. 计算机网络之危机四伏,炉石传说最后的爆牌贼 奥术巨人危机四伏流分享

    炉石 传说最后的爆牌贼 奥术巨人危机四伏流分享 虽然由于 海盗 战和青玉德盛行,使得爆牌贼生存环境更为恶劣,但是在外服还是有人在最后坚持标准爆牌套路,下面一起来看看 奥术巨人危机四伏爆牌贼. 炉石传说 ...

  4. 炉石传说服务器维护有补偿吗,炉石传说维护(炉石传说维护公告全文及具体补偿方案 炉石数据回档怎么补偿?)...

    炉石传说维护(炉石传说维护公告全文及具体补偿方案 炉石数据回档怎么补偿?),哪吒游戏网给大家带来详细的炉石传说维护(炉石传说维护公告全文及具体补偿方案 炉石数据回档怎么补偿?)介绍,大家可以阅读一下, ...

  5. python hook pc微信_一起来用python玩一波微信呀 | 防撤回, 好友分析, 聊天机器人~...

    原文链接一起来用python玩一波微信呀 | 防撤回, 好友分析, 聊天机器人~​mp.weixin.qq.com 导语 众所周知,前段时间微信彻底关闭了网页版微信登录入口.于是一大波基于itchat ...

  6. 整活插件 炉石传说_炉石传说:国服再搞大动作?官方插件神秘新功能压力测试开启...

    一入酒馆深似海,从此萌新变大神.大家好,我是酒馆店小二!据说点了关注的炉友,天天都能开橙卡,月月都能上传说哦~ 今天小二从营地看到了一则比较新奇的新闻,是关于炉石传说官方插件的.据悉,<炉石传说 ...

  7. 整活插件 炉石传说_炉石新bug的经验和金币补偿!新版本落差最大的三张橙卡,两张生不逢时...

    先来说一下官方最新的热修补丁: 修复了某些玩家任务日志空白且无法收到任务的bug,受影响的玩家将在不久后获得经验补偿: 修复了英雄对决模式没有经验的bug,受影响的玩家将在不久后获得缺失经验的补偿: ...

  8. 炉石传说 java_炉石传说 java实现

    试题编号: 201609-3 试题名称:炉石传说 时间限制:1.0s 内存限制:256.0MB 问题描述: 问题描述 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of ...

  9. 炉石传说|炉石战棋|整活脚本

    先放脚本内容: ::https://baijiahao.baidu.com/s?id=1665560383633884294&wfr=spider&for=pc ::https://w ...

最新文章

  1. IEEE迎来首位华人主席,马里兰大学终身教授刘国瑞当选
  2. Openssl自签名证书
  3. (笔试题)不用除法操作符,实现两个整数的除法
  4. 201521123079 《Java程序设计》第1周学习总结
  5. SAFESEH 映像的模块不安全
  6. sun服务器清理内存日志_sun服务器系统日志
  7. 华为P50外观定了:居中挖孔
  8. c/c++ 数组和指针
  9. Vienna大学5G链路级仿真平台简介
  10. excel只计算隐藏不计算机,excel计算公式求和_excel中如何让隐藏数据不参与求和计算?_excel表格数据求和...
  11. Jxls使用模版导出excel表格公式无法自动计算失效解决
  12. *16.5 shared_ptr使用场景、陷阱、性能分析与使用建议
  13. 名字中间一条线怎么弄_怎么在网名中间画一条横线 一条横线穿过字的网名
  14. jquery editplus
  15. 为什么要学习科学的方法论
  16. 为什么淘宝京东的首页这么快
  17. java最常见的三种问题,404,500以及无法访问
  18. 基于MATLAB的带噪图像的高斯滤波
  19. android开发笔记之APK大小优化
  20. win7 联想一键恢复工程师版7.0安装笔记

热门文章

  1. android app唤醒机制,Android平台下APP唤醒机制
  2. Amadeus训练实录
  3. 【Java】实测激活JRebel实现代码的热部署
  4. AirPods无法充电怎么办?AirPods 无法充电的解决方法
  5. 鸿蒙系统手机系统,大量升级服务器崩溃,国产手机系统终于翻篇了!鸿蒙使用体验!...
  6. 苹果手机适合什么蓝牙耳机?适合iPhone的蓝牙耳机推荐
  7. 对SH 球面谐波函数的理解
  8. hosts文件的使用以及修改
  9. 几种线程安全的Map解析
  10. CAD制图初学入门之CAD中怎么进行网格填充?