教你巧玩 [冲顶大会] 答题类游戏

转载 2018年01月13日 00:00:00

点击上方“iOS开发”,选择“置顶公众号”

关键时刻,第一时间送达!

640?wxfrom=5&wx_lazy=1

0.gif?wxfrom=5&wx_lazy=1


这两天冲顶大会之类的直播答题 APP 突然火了起来,不得不佩服互联网公司的想象力,那么程序员怎么用不同的方式玩转答题游戏呢。之前微信的跳一跳小游戏刷爆朋友圈,已经有很多朋友写出了自动化的脚本辅助,一看到答题游戏就马上想到可以用类似的方式来写一个简单的脚本。我发现已经有朋友做了个调用百度 api 的,自己就再写个直接用识别库的吧,代码思路简单,可以用在各类答题游戏中。使用文字识别加搜索,只能起到辅助决策的作用,可以参考结果,增加准确率,也保证不了全对。


?wx_fmt=png&wxfrom=5&wx_lazy=1


具体代码和环境及使用请戳:https://github.com/Skyexu/TopSup

随手 Star ^ ^


具体做法


1.使用 ADB 获取手机截屏


adb shell screencap -p /sdcard/screenshot.png

adb pull /sdcard/screenshot.png .


2.OCR 识别题目与选项文字


分别通过代码截取题目区域与选项区域,再进行文字识别


?wx_fmt=png


文字识别两个方法:


  • 谷歌 Tesseract ,安装软件即可,接下来主要使用这个方法

  • 百度 OCR livc ,需要注册百度 API,每天调用次数有限


3.搜索判断


结果判断方式


1.直接打开浏览器搜索问题


?wx_fmt=png


2.题目+每个选项都通过搜索引擎进行搜索,从网页代码中提取搜索结果的数目


3.只用题目进行搜索,统计结果页面代码中包含选项的词频


以下为两个示例结果,可以看出下面两道题,两个方法有不同的结果,可以根据问题类型进行不同的决策。


?wx_fmt=png


?wx_fmt=png


参考了 I Hacked HQ Trivia But Here’s How They Can Stop Me


主要代码


验证思路的主要代码是实现截图,识别,调用浏览器搜索。其实很简单


def pull_screenshot():

    os.system('adb shell screencap -p /sdcard/screenshot.png')

    os.system('adb pull /sdcard/screenshot.png .')


pull_screenshot()

img = Image.open("./screenshot.png")


# 切割题目位置,左上角坐标和右下角坐标,自行测试分辨率

question = img.crop((50, 350, 1000, 560)) # 坚果 pro1

choices = img.crop((75, 535, 990, 1150))

#region = img.crop((75, 315, 1167, 789)) # iPhone 7P


# tesseract 路径

pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files (x86)\Tesseract-OCR\tesseract'

# 语言包目录

tessdata_dir_config = '--tessdata-dir "C:\Program Files (x86)\Tesseract-OCR\tessdata"'


# lang 指定中文简体

text = pytesseract.image_to_string(question, lang='chi_sim', config=tessdata_dir_config)

text = text.replace(" ", "")[2:]


print(text)

webbrowser.open('https://baidu.com/s?wd='+text)


总结


写完简单版本想一想,怕是还没有 Hi ,Siri来的方便,不过好在识别准确,查询快,后来又加了几个方法辅助决策。文字识别加搜索,在这类游戏中并不能完全做对,想要实现完全对,可能还是得抓包? 或者存储题库,不过这就太费时间了。有了 ADB 截图,怕是各种小辅助都可以玩了,大家可以发挥想象力。python 写小脚本真的很方便。接下来可以尝试文字识别后 nlp 处理一下关系,然后搜索不同选择结果,增加准确率等等。不玩了不玩了,得写 paper 去了。


640?

  • 来自:  Skye_kh

  • 链接:http://mp.weixin.qq.com/s/LoZZSzYnlObdQuQUQPPJUw

  • iOS开发整理发布,转载请联系作者授权

0.gif

0?【点击成为Android大神】

C#版在线答题软件

  • 2012年02月08日 10:11
  • 3.4MB
  • 下载

冲顶大会/芝士超人/花椒直播/头脑王者...答题助手升级版 v1.0

  • 2018年01月17日 14:58
  • 24.57MB
  • 下载

谁都喜欢超人

由湖南卫视搞得智勇大冲关看到那些超人太酷了,超人那就是超超超。
  • sunzhaohua88
  • sunzhaohua88
  • 2009年07月23日 15:28
  • 236

我们给直播答题算了个命

本文来自微信公众号“略大参考”(ID:hyzibenlun) 搜狗王小川动手拆了个台,让他们的人工智能机器人参与直播答题——一个物理外挂。对于任何一个游戏来说,只要无力抵抗外...
  • bKMk01MZ3w
  • bKMk01MZ3w
  • 2018年01月11日 12:32
  • 139

百万英雄类答题游戏的程序员打开方式

最近知识答题类的app应用和网站  都很火  所以机器人多了,,百度度秘、搜狗小汪等 Python发挥了很大作用 《百万英雄》《冲顶大会》《头脑王者》《一站到底》《芝士超人》《黄金十秒》《百万...
  • English0523
  • English0523
  • 2018年01月12日 14:06
  • 3167

微信答题游戏代码

  • 2016年11月15日 17:17
  • 1.13MB
  • 下载

微信答题游戏代码

  • 2015年04月07日 15:31
  • 1.13MB
  • 下载

pycharm永久激活

pycharm是很强大的开发工具,但是每次注册着实让人头疼。网络上很多注册码、注册服务器等等、但都只是一年或者不能用;为次有如下解决方案。亲测有效!!!如果想让pycharm永久被激活,比如截止日到2...
  • qq_32259579
  • qq_32259579
  • 2018年01月02日 15:13
  • 27490

Postman用法简介

Postman用法简介-Http请求模拟工具   在我们平时开发中,特别是需要与接口打交道时,无论是写接口还是用接口,拿到接口后肯定都得提前测试一下,这样的话就非常需要有一个比较给力...
  • flowerspring
  • flowerspring
  • 2016年10月10日 09:04
  • 94736

Effective Java第三版英文版

  • 2018年01月08日 09:32
  • 1.43MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:教你巧玩 [冲顶大会] 答题类游戏
举报原因:
原因补充:

(最多只允许输入30个字)