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