更新時(shí)間:2018-01-10 來(lái)源:黑馬程序員 瀏覽量:
項(xiàng)目來(lái)源:https://github.com/wangshub/wechat_jump_game
2017 年 12 月 28 日下午,微信發(fā)布了 6.6.1 版本,加入了「小游戲」功能,并提供了官方 DEMO「跳一跳」。今天我們就試試用Python來(lái)玩跳一跳。
游戲模式
這是一個(gè) 2.5D 插畫(huà)風(fēng)格的益智游戲,玩家可以通過(guò)按壓屏幕時(shí)間的長(zhǎng)短來(lái)控制這個(gè)「小人」跳躍的距離。可能剛開(kāi)始上手的時(shí)候,因?yàn)闀r(shí)間距離之間的關(guān)系把握不恰當(dāng),只能跳出幾個(gè)就掉到了臺(tái)子下面。 玩法類似于《flappy bird》
如果能精確測(cè)量出起始和目標(biāo)點(diǎn)之間測(cè)距離,就可以估計(jì)按壓的時(shí)間來(lái)精確跳躍。
注意:能刷到多少分全憑良心,不要把分?jǐn)?shù)刷太高,容易沒(méi)朋友的……
工具介紹
Python 2.7或3.6
Android 手機(jī)
Adb 驅(qū)動(dòng)
一系列Python相關(guān)的庫(kù)
原理說(shuō)明
將手機(jī)點(diǎn)擊到《跳一跳》小程序界面;
用Adb 工具獲取當(dāng)前手機(jī)截圖,并用adb將截圖pull上來(lái)
adb shell screencap -p /sdcard/1.png
adb pull /sdcard/1.png .
用matplot顯示截圖;
用鼠標(biāo)點(diǎn)擊起始點(diǎn)和目標(biāo)位置,計(jì)算像素距離;
根據(jù)像素距離,計(jì)算按壓時(shí)間;
用Adb工具點(diǎn)擊屏幕蓄力一跳;
adb shell input swipe x y x y time
考慮到大多數(shù)的童鞋都是Windows電腦,下面介紹Windows環(huán)境下的操作指南
1. 安裝adb驅(qū)動(dòng)(搞Android開(kāi)發(fā)的童鞋請(qǐng)忽略)
下載地址:https://adb.clockworkmod.com/
2. 配置adb的環(huán)境變量
將adb驅(qū)動(dòng)的安裝目錄(adb.exe所在全路徑)復(fù)制并加入到系統(tǒng)環(huán)境變量Path中,確保在cmd中可以直接運(yùn)行adb命令即可
3. 安裝Python2.7或者3.6,自行決定
下載地址:https://www.python.org/downloads/windows/
4. 配置Python環(huán)境變量
同第二步一樣,將Python的安裝目錄復(fù)制并加入到系統(tǒng)環(huán)境變量Path中,確保在cmd中可以直接運(yùn)行python命令即可
5. 安裝pip并配置環(huán)境變量
下載地址:https://pypi.python.org/pypi/pip#downloads
對(duì)于第4步和第5步不清楚的,請(qǐng)點(diǎn)擊這里 https://www.cnblogs.com/yuanzm/p/4089856.html
6. 安裝依賴的庫(kù)文件
cmd中 運(yùn)行一下命令即可
pip install -r requirements.txt
步驟
安卓手機(jī)打開(kāi)USB調(diào)試,設(shè)置》開(kāi)發(fā)者選項(xiàng)》USB調(diào)試
電腦與手機(jī)USB線連接,確保執(zhí)行adb devices可以找到設(shè)備id
界面轉(zhuǎn)至微信跳一跳游戲,點(diǎn)擊開(kāi)始游戲
運(yùn)行python wechat_junp_auto.py,如果手機(jī)界面顯示USB授權(quán),請(qǐng)點(diǎn)擊確認(rèn)
實(shí)驗(yàn)結(jié)果:
TODO
可以對(duì)拉上來(lái)的圖片進(jìn)行顏色分割,識(shí)別小人和目標(biāo)中心店,這樣就不需要手動(dòng)點(diǎn)擊自動(dòng)彈跳。
事實(shí)證明,AI 比人更會(huì)玩兒游戲。
本文版權(quán)歸黑馬程序員人工智能+Python學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員人工智能+Python培訓(xùn)學(xué)院
首發(fā):http://python.itheima.com/