自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

教你巧玩 [沖頂大會] 答題類游戲

移動開發(fā)
這兩天沖頂大會之類的直播答題 APP 突然火了起來,不得不佩服互聯(lián)網(wǎng)公司的想象力,那么程序員怎么用不同的方式玩轉(zhuǎn)答題游戲呢。

這兩天沖頂大會之類的直播答題 APP 突然火了起來,不得不佩服互聯(lián)網(wǎng)公司的想象力,那么程序員怎么用不同的方式玩轉(zhuǎn)答題游戲呢。之前微信的跳一跳小游戲刷爆朋友圈,已經(jīng)有很多朋友寫出了自動化的腳本輔助,一看到答題游戲就馬上想到可以用類似的方式來寫一個簡單的腳本。我發(fā)現(xiàn)已經(jīng)有朋友做了個調(diào)用百度 api 的,自己就再寫個直接用識別庫的吧,代碼思路簡單,可以用在各類答題游戲中。使用文字識別加搜索,只能起到輔助決策的作用,可以參考結(jié)果,增加準(zhǔn)確率,也保證不了全對。

 2264593-2a1259486e2f1c4d.png

具體代碼和環(huán)境及使用請戳:https://github.com/Skyexu/TopSup

隨手 Star ^ ^

靈感來自:

  • 微信跳一跳輔助
  • 程序員如何玩轉(zhuǎn)《沖頂大會》?

具體做法

1.使用 ADB 獲取手機(jī)截屏

 

  1. adb shell screencap -p /sdcard/screenshot.png 
  2. adb pull /sdcard/screenshot.png . 

2.OCR 識別題目與選項文字

分別通過代碼截取題目區(qū)域與選項區(qū)域,再進(jìn)行文字識別 

2264593-38ac099f001eed6f.png

文字識別兩個方法:

  • 谷歌 Tesseract ,安裝軟件即可,接下來主要使用這個方法
  • 百度 OCR livc ,需要注冊百度 API,每天調(diào)用次數(shù)有限

3.搜索判斷

結(jié)果判斷方式

1.直接打開瀏覽器搜索問題 

2264593-caa411fb4b68c7ca.png

2.題目+每個選項都通過搜索引擎進(jìn)行搜索,從網(wǎng)頁代碼中提取搜索結(jié)果的數(shù)目

3.只用題目進(jìn)行搜索,統(tǒng)計結(jié)果頁面代碼中包含選項的詞頻

以下為兩個示例結(jié)果,可以看出下面兩道題,兩個方法有不同的結(jié)果,可以根據(jù)問題類型進(jìn)行不同的決策。 

 

2264593-0bd41c7c84dd0b83.png

 

 

 

2264593-7320386945a0b8d3.png

 

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

主要代碼

驗(yàn)證思路的主要代碼是實(shí)現(xiàn)截圖,識別,調(diào)用瀏覽器搜索。其實(shí)很簡單,具體可以參考我的 github 庫中簡單版本代碼

 

  1. def pull_screenshot(): 
  2.     os.system('adb shell screencap -p /sdcard/screenshot.png'
  3.     os.system('adb pull /sdcard/screenshot.png .'
  4. pull_screenshot() 
  5. img = Image.open("./screenshot.png"
  6. # 切割題目位置,左上角坐標(biāo)和右下角坐標(biāo),自行測試分辨率 
  7. question = img.crop((50, 350, 1000, 560)) # 堅果 pro1 
  8. choices = img.crop((75, 535, 990, 1150)) 
  9. #region = img.crop((75, 315, 1167, 789)) # iPhone 7P 
  10. # tesseract 路徑 
  11. pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract' 
  12. # 語言包目錄 
  13. tessdata_dir_config = '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"' 
  14. # lang 指定中文簡體 
  15. text = pytesseract.image_to_string(question,, config=tessdata_dir_config) 
  16. text = text.replace("\n""")[2:] 
  17. print(text) 
  18. webbrowser.open('https://baidu.com/s?wd='+text) 

總結(jié)

寫完簡單版本想一想,怕是還沒有 Hi ,Siri來的方便,不過好在識別準(zhǔn)確,查詢快,后來又加了幾個方法輔助決策。文字識別加搜索,在這類游戲中并不能完全做對,想要實(shí)現(xiàn)完全對,可能還是得抓包? 或者存儲題庫,不過這就太費(fèi)時間了。有了 ADB 截圖,怕是各種小輔助都可以玩了,大家可以發(fā)揮想象力。python 寫小腳本真的很方便。接下來可以嘗試文字識別后 nlp 處理一下關(guān)系,然后搜索不同選擇結(jié)果,增加準(zhǔn)確率等等。不玩了不玩了,得寫 paper 去了。

 

責(zé)任編輯:未麗燕 來源: Skye_kh
相關(guān)推薦

2011-09-15 14:06:44

Quest.li游戲

2011-03-03 10:31:42

數(shù)據(jù)庫

2018-01-12 14:58:07

2009-01-07 09:23:00

2012-10-29 15:48:56

2012-03-24 20:31:59

移動游戲

2023-06-09 13:56:42

Feign調(diào)用spring

2012-07-18 14:02:54

銳捷網(wǎng)絡(luò)

2022-07-24 14:51:31

開源游戲RPG 游戲

2015-12-02 10:30:27

開源軟件開源營銷

2012-05-17 16:16:01

Linux系統(tǒng)游戲

2012-02-29 11:18:13

2023-03-12 13:23:27

UbuntuDOSBox復(fù)古游戲

2021-09-27 13:16:24

LinuxWindows游戲

2023-02-14 16:35:52

UbuntuDOSBox老游戲

2015-10-10 14:40:36

編程游戲

2021-12-30 11:39:27

MySQL 刪庫不跑路

2010-09-09 14:15:08

無線網(wǎng)絡(luò)信號

2022-05-10 10:43:35

數(shù)據(jù)源動態(tài)切換Spring

2011-12-24 21:59:02

iPhone
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號