教你用JAVA来玩百万英雄答题(增加视频教程了!)

栏目: Java · 发布时间: 6年前

内容简介:教你用JAVA来玩百万英雄答题(增加视频教程了!)

转载请标明作者

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

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

lingfengsan/MillionHero

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

Update

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

2018-01-09 : 增加常见问题回答

2018-01-10:更加自动化,配置好后,直接运行Main.main()自动显示

2018-01-10:增加视频展示和使用教程

以下是B站链接: 教你用 JAVA 来玩百万英雄答题_手机游戏_游戏_bilibili_哔哩哔哩

常见问题

1、项目构建问题:

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

2、tessOCR:

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

3、ADB驱动相关:

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

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

游戏模式

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

教你用JAVA来玩百万英雄答题(增加视频教程了!)

如果可以把直播中的问题和答案提取出来,然后百度,然后统计一下哪个更相关,就可以辅助你答题了。当然也可以直接把百度出来题目和答案都展示出来。算法还在优化,以代码中为准、

工具介绍

  • JAVA8

  • Android 手机

  • Adb 驱动

  • idea

原理说明

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

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

adb shell screencap -p /sdcard/1.png
    adb pull /sdcard/1.png .
  1. 用tessOCR进行图像识别,提取文字;

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

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

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

  5. 问题 count(q);

  6. 答案 count(a);

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

  8. 选择pmi值最高的为答案。

步骤

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

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

  • 打开百万直播

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

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

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

实验结果

教你用JAVA来玩百万英雄答题(增加视频教程了!)

PS:

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

TODO

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

五子连珠必胜法

五子连珠必胜法

新井华石 / 张书 / 人民体育出版社 / 1997-10 / 12.00元

《五子连珠必胜法》经日本国虹有社授权,译自日本连珠社已故理事长新井华石九段经典著作《连珠必胜法》一书。内容阐述和介绍五子连珠的基本着法和各种常用的布局定式。全书分两大编。连珠基本编介绍连珠棋的发展历史、连珠棋的规则和规定以及基本珠形。连珠必胜编分为六章分别阐述和介绍各种常用布局定式,包括二号连浦月、五号连花月、一号连云月、二号桂名月、三号桂岚月、二号间恒星六种布局定式。一起来看看 《五子连珠必胜法》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试