《百万英雄》是一档全民知识互动游戏,在《百万英雄》里每场12道题目全部回答正确的人,将瓜分奖金。

后续更新在我的github上,欢迎大牛前来P.R:

lingfengsan/MillionHero

gitee仓库地址:坏坏/MillionHero - 码云 Gitee.com

Update

·2018-01-10 :现在会单独为问题打开一个网页进行展示搜索结果

·2018-01-10 :B站视频网页链接

·2018-01-10 : 一直读取图片的话会报异常,现在改为输入回车才回开始。更加稳定 尝试了一下午汉王的OCR,识别率还是比较低啊。 但是tessOCR运行时间确实有点长了。有好的OCR推荐下

·2018-01-09 : 修改了启用多线程后带来的bug,新增gitee仓库地址(国内下载更快)

常见问题

1、项目构建问题:

IDE建议用idea,从github导入后,在右侧的Maven project中添加目录根部的 pom.xml文件即可。

2、tessOCR:

只是调用了一下,在pom已经导入了使用的工具包,训练机在tessdata里面,不需要配置。

3、ADB驱动相关:

使用ADB需要对应的手机驱动的。最简单验证ADB的方法:

在adb目录里面打开命令行输入 adb devices 看下有没有设备,有的话即可。

游戏模式

一共12道题,全部答对就可以平分奖金

如果可以把直播中的问题和答案提取出来,然后百度,然后统计一下哪个更相关,就可以辅助你答题了。当然也可以直接把百度出来题目和答案都展示出来。本文用的第一种简单粗暴。

工具介绍

·JAVA8

·Android 手机

·Adb 驱动

原理说明

1、将手机点击到直播界面(在这里我们先打开一张图片);

2、用Adb 工具获取当前手机截图,并用adb将截图pull上来

adb shell screencap -p /sdcard/1.png

adb pull /sdcard/1.png .

1.用tessOCR进行图像识别,提取文字;

2.将文字中的问题和答案提取出来;

3.使用百度搜索并统计搜索得到结果数量

-问题+各个答案count(q&a);

-问题 count(q);

-答案 count(a);

-计算匹配值pmi: pmi[i]=count(q&a[i])/(count(q)*count(a[i]))

-选择pmi值最高的为答案。

步骤

·安卓手机打开USB调试,设置》开发者选项》USB调试

·电脑与手机USB线连接,确保执行adb devices可以找到设备id

·打开百万直播

·运行我们的java程序,当弹出题目时,输入回车

◆注意程序中的adb驱动目录要更换成自己的目录

我的屏幕是1920*1080,如果是别的分辨率,暂时需要修改一下代码中的图片参数等。

实验结果

PS:无奈本人在出差,笔记本速度和网速都比较慢,比较好的电脑和网速肯定能很大的提升。

TODO

1、可以增加一个图形化界面,分别对题目和答案进行搜索并进行展示。

本文转载,作者-知乎-聆风散

java游戏英雄_【技巧攻略】教你用JAVA来玩《百万英雄》答题~相关推荐

  1. 不定积分24个基本公式_高分攻略丨语文阅读理解的24个万能答题公式

    在语文的学习中,有两大重难点,一是阅读理解,二是作文. 如果说写作可以多积累素材,想要提升作文也是很简单的,但是对于阅读理解就没有那么简单了,这个不仅需要在平时多积累,多练习,还需要答题技巧. 阅读理 ...

  2. java excel打印_技巧(excel,excel使用java打印输出)

    1.=TEXT(A2,"emmdd")&TEXT(COUNTIF(A$2:A2,A2),"000") 去掉日历中的"-" 2.使用视 ...

  3. java 写字板_软帝学院教你用Java实现写字板功能!

    用Java实现写字板功能! import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import j ...

  4. java 重构函数_包会,教你用Java函数式编程重构烂代码

    Java8 由Oracle在2014年发布,是继Java5之后最具革命性的版本. Java8吸收其他语言的精髓带来了函数式编程,lambda表达式,Stream流等一系列新特性,学会了这些新特性,可以 ...

  5. 我的世界java怎么玩起床战争_我的世界经验起床战争怎么玩?起床战争玩法技巧攻略!...

    在我的世界游戏中有一种玩法叫做起床战争,然而在起床战争中游戏模式有很多种,所以大家想了解我的世界经验起床战争怎么玩?起床战争玩法技巧攻略!一起来看看吧! 我的世界经验起床战争怎么玩 首先小编先来给大家 ...

  6. java我的世界极限生存_我的世界极限生存攻略 教你前十天怎么生存

    我的世界极限生存攻略 教你前十天怎么生存.那下面给大家分享的则是我的世界生存十天的攻略哦~那不知道在极限生存中要怎么生存的玩家不妨进来看看下面的介绍哦~ 游戏园我的世界官方群:325049520或25 ...

  7. 无悔入华夏怎么一直显示服务器,无悔入华夏怎么统一_无悔入华夏统一方式技巧攻略_玩游戏网...

    在无悔入华夏手游中究竟该怎么统一呢?统一天下的操作还是有不少玩家并不是很清楚呢!那么还等什么呢?不清楚的话,下面就来看一下吧! 无悔入华夏统一方式技巧攻略 以秦国举例,两城五块空地,这个五块空地,我个 ...

  8. apex英雄机器人探路者怎么玩_Apex英雄探路者玩法技巧攻略

    原标题:Apex英雄探路者玩法技巧攻略 小伙伴们好鸭,我和你们很多人一样都是apex英雄的第一批玩家.一周玩下来注意到了许多容易被忽略的或有趣或实用的小细节小技巧,想跟大家分享分享啦!本文适合已经有一 ...

  9. 游戏开发物语方案点数分配_最好的搭配 游戏开发物语攻略游戏方案怎么选

    这次小编为玩家们带来游戏开发物语攻略游戏方案怎么选的详细攻略,一个游戏能否畅销在一定程度上取决于游戏的搭配,同时搭配出杰出游戏方案之后我们的制作方针也会得到提高. 游戏方案选择的技巧有以下几点. 第一 ...

  10. 异星工厂 自动机器人_异星工厂自动科研系统建造技巧_图文攻略

    异星工厂自动科研系统建造技巧_图文攻略 1.建立基地第一件事是把周围的煤铁铜石用传送带串联循环,可以建一条大环路,然后把各个资源点产出的资源循环到上面,铁铜煤石采集机器的比例最好保持6:2:1:1. ...

最新文章

  1. 构造函数必须是public吗_c++ 构造函数,析构函数必须要给成公有的吗?
  2. SpringAMQP--FanoutExchange
  3. 电脑技巧:电脑常用快捷键大全,值得收藏!
  4. thinkphp-where-数组条件-普通查询
  5. redis启动.停止.重启
  6. JAVA :RESTLET开发实例(一)基于JAX-RS的REST服务
  7. 级联分类器-opencv使用
  8. 微软关闭音乐服务器,微软关闭Zune音乐服务 Zune播放器变为MP3
  9. mysql 锁行语句_mysql 锁表锁行语句分享(MySQL事务处理)
  10. 系统测试包含的全部内容(建议收藏)
  11. php-fpm的安装和启动
  12. 教你如何用Three.js创造一个三维太阳系
  13. 2.自动加载(phalapi框架总结)
  14. android:手机与BLE-CC41-A蓝牙模块通信
  15. 国家开放大学计算机应用基础本科性考,精选国家开放大学电大本科《1200计算机应用基础》形考任务1试题及答案...
  16. 安卓手机游戏开发培训!万字长文轻松彻底入门Flutter,面试真题解析
  17. 【鸽子木·每日一题】蛇形矩阵(3月23日)
  18. Swift 读取,处理Json数据
  19. fluke福禄克8000|8508A|8808A|8845A|8846A数字万用表软件NS-Multimeter
  20. mysql异常Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95' for column 'region_name'

热门文章

  1. 完全卸载quartus ii 9.0
  2. CE.CCC.FCC分别是欧盟,中国,美国的强制认证要求吗?
  3. 多目标差分进化算法(Matlab代码实现)
  4. TMS320C6678 PLL时钟配置
  5. 如何利用GitHub发布个人网站
  6. 在Ubuntu环境把PPT和Word转换为swf文件
  7. 【php】 Web应用读取客户端电子秤实现方案
  8. css .clearfix,css之clearfix的用法深入理解(必看篇)
  9. QCustomPlot之瀑布图(十五)
  10. keil 开源替代_6种开源Web浏览器替代品