原理: 由於每次通過冒險模式都會有金幣,而這個動作十分重複,連Image Recognition都不需要,可以考慮使用程式代替人工。
簡單的說是重複以下的步驟: 介面開啟至挑戰關卡:隕落的廢都 - 魔女回憶 【點擊下一步】 點擊開始闖關 進入挑戰介面。【點擊右上方-自動-等待挑戰結束】 進入挑戰完成介面。【點擊螢幕繼續】 進入關卡獎勵介面。【點擊再次挑戰】 再次闖關 我們需要一個程式代替我們手工點點點,可以想到使用安卓sdk裡的adb工具,向手機發送點擊命令。
adb shell input tap x y
就是這個命令,如果 在cmd命令列裡執行一下
adb shell input tap 500 500
就會在手機500,500位置類比點擊一下。
環境準備:
下載安卓的platform-tools:
http://www.androiddevtools.cn/
訪問這個網址 找到這裡
根據你的作業系統下載完了之後解壓
然後配置環境變數:
在Path的最後加上剛剛你解壓出來的目錄,D:\platform-tools 是我剛剛解壓的目錄。與前面的字串要用英文的分號;隔開
代碼: 開啟IDE粘貼以下代碼:
# -*- coding: utf-8 -*-import osfrom time import sleeprepeat_times = 600def tap_screen(x, y): os.system('adb shell input tap {} {}'.format(x, y))if __name__ == '__main__': for i in range(repeat_times): if(i > 0): tap_screen(2489, 1307) # 再次挑戰 print("再次挑戰開始") sleep(5) tap_screen(2155, 1218)#闖關 print("開始闖關") sleep(12) tap_screen(2764, 53)#自動 print("自動按鈕點擊") sleep(50) tap_screen(500,500)#點擊螢幕繼續 print("點擊螢幕繼續") sleep(5) tap_screen(2489, 1307) # 再次挑戰 sleep(1) print(i)
os.system 的效果就和你在cmd裡執行命令一樣 由於現在奇怪比例的手機層出不窮,我自己用的18.5:9的三星S8,所以把所有座標都寫死了,可以根據自己手機修改上面的各種座標及休眠時間。在手機的開發人員模式裡開啟顯示指標位置,就會顯示你當前觸摸的地區的座標