python快手虎年跳一跳輔助(點選版)

專注的阿熊發表於2022-02-11

import os

import random

import time

import cv2

sign=False

start_x=0

start_y=0

end_x=0

end_y=0

distance=0

def get_screenshot():

     # 擷取手機的螢幕

     os.system('adb shell screencap -p /sdcard/01.png')

     # 把模擬器裡面的檔案或資料夾傳到電腦上

     os.system('adb pull /sdcard/01.png d://python//picture')

def jump(distance):

     # 設定按壓時間 , 係數為 1.35

     press_time = int(distance * 2.45)

     # 生成隨機手機螢幕模擬觸控點 , 防止成績無效

     # 生成隨機整數 (0-9), 最終數值為 (0-90)

     rand =外匯跟單gendan5.com random.randint(0, 9) * 10

     # adb 長按操作 , 即在手機螢幕上 ((320-410),(410-500)) 座標處長按 press_time 毫秒

     cmd = ('adb shell input swipe %i %i %i %i ' + str(press_time)) % (320 + rand, 410 + rand, 320 + rand, 410 + rand)

     # 輸出 adb 命令

     print(cmd)

     # 執行 adb 命令

     os.system(cmd)

def get_point(event, x, y, flags, param):

     # 滑鼠單擊事件

     global sign

     global start_x

     global start_y

     global end_x

     global end_y

     global distance

     if event == cv2.EVENT_LBUTTONDOWN:

         # 輸出座標

         print(' 座標值 : ', x, y)

         # 在傳入引數影像上畫出該點

         #cv2.circle(param, (x, y), 1, (255, 255, 255), thickness=-1)

         img = param.copy()

         # 輸出座標點的畫素值

         print(' 畫素值: ',param[y][x]) # 注意此處反轉, ( 縱,橫,通道 )

         # 顯示座標與畫素

         text = "("+str(x)+','+str(y)+')'+str(param[y][x])

         # 說明是第一次

         if(sign ==False):

             start_x=x

             start_y=y

             sign = True

         else:

             end_x=x

             end_y=y

             distance=((start_x-end_x)**2 +(start_y-end_y)**2)**0.5

             print(distance)

             jump(distance)

             sign = False

if __name__ == "__main__":

     # 定義兩幅影像

     font = cv2.FONT_HERSHEY_SIMPLEX

     # 顯示影像

     while(True):

         start_time = time.time()

         get_screenshot()

         image = cv2.imread('picture/01.png')

         image=cv2.resize(image,(500,1020))

         # image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

         # 定義兩個視窗 並繫結事件 傳入各自對應的引數

         cv2.namedWindow('image')

         cv2.setMouseCallback('image', get_point, image)

         cv2.resizeWindow("image",500,1020)

         cv2.putText(image, "FPS: "+ str(round(1.0 / (time.time() - start_time),1)), (50, 50), font, 1, (180, 100, 255), 2, cv2.LINE_AA)

         cv2.imshow('image', image)

         print("FPS: ", 1.0 / (time.time() - start_time))  # FPS = 1 / time to process loop

         if cv2.waitKey(20) & 0xFF == 27:

             break


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2855389/,如需轉載,請註明出處,否則將追究法律責任。

相關文章