1. 程式人生 > >使用python做王者榮耀掛機刷金幣指令碼

使用python做王者榮耀掛機刷金幣指令碼

原理:

由於每次通過冒險模式都會有金幣,而這個動作十分重複,連影象識別都不需要,可以考慮使用程式代替人工。 簡單的說是重複以下的步驟:
  1. 介面開啟至挑戰關卡:隕落的廢都 - 魔女回憶 【點選下一步】
  2. 點選開始闖關
  3. 進入挑戰介面。【點選右上角-自動-等待挑戰結束】
  4. 進入挑戰完成介面。【點選螢幕繼續】
  5. 進入關卡獎勵介面。【點選再次挑戰】
  6. 再次闖關
我們需要一個程式代替我們手工點點點,可以想到使用安卓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 os
from time import sleep
repeat_times = 600
def 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,所以把所有座標都寫死了,可以根據自己手機修改上面的各種座標及休眠時間。在手機的開發者模式裡開啟顯示指標位置,就會顯示你當前觸控的區域的座標