用Python編寫微信小遊戲「跳一跳」的執行指令碼

2021-08-14 05:43:10 字數 2511 閱讀 9220

前言

配置adb環境變數,在我的電腦–》屬性–》高階系統設定–》環境變數–》path上新增adb.exe所在的路徑。

開啟手機的usb除錯模式,並連線電腦,開啟跳一跳,然後通過adb工具獲取當前手機截圖,具體指令如下所示:

adb shell screencap -p /sdcard/1.png

adb pull /sdcard/1.png

在程式中的具體**實現如下所示:

def

screenshot

(): cmd = 'adb shell screencap -p /sdcard/1.png'

os.system(cmd)

cmd = 'adb pull /sdcard/1.png'

os.system(cmd)

查詢棋子的位置,通過顏色來識別棋子,通過將棋子底盤所在行的所有點的x軸座標相加,然後取平均值獲得x軸座標,將y軸座標取最低點減去棋子底盤高度的一半。具體**實現如下:

#開始查詢棋子的座標,從start_y開始據目測棋子不會位於螢幕底部1/3處

for i in range(start_y, int(height * 2 / 3)):

for j in range(border_x, width - border_x): #刪除周圍空白部分,加快程式執行速度

next_point = im[j,i]

# 根據棋子的顏色判斷,求所有點的和然後求平均值

if (50

< next_point[0] < 60) and (53

1] < 63) and (95

< next_point[2] < 110):

x1_temp += j #點求和

x1_num += 1

#點的個數

y1_max = max(i, y1_max)

ifnot

all((x1_temp,x1_num)):

return

0,0,0,0

x1 = x1_temp / x1_num

y1 = y1_max - piece_height/2

# 棋子y軸座標上移到底盤高度的一半

#查詢下乙個棋盤的位置

for i in range(start_y, height * 2 / 3):

start_point = im[0, i]

if x2 or y2:

break

x2_temp = 0

x2_num = 0

for j in range(width):

next_point = im[j,i]

ifabs(j - x1) < body_width:

continue

# 棋盤為圓

ifabs(next_point[0] - start_point[0]) + abs(next_point[1] - start_point[1]) + abs(next_point[2] - start_point[2]) > 10:

x2_temp += j

x2_num += 1

if x2_temp:

x2 = x2_temp / x2_num

# 按實際的角度通過tan值來算計算下乙個棋盤的中心點的y軸座標

y2 = y1 - abs(x2 - x1) * abs(sample_y1 - sample_y2) / abs(sample_x1 - sample_x2)

ifnot

all((x2, y2)):

return

0, 0, 0, 0

#跳到下乙個棋盤

defjump

(distance):

press_time = distance * press

press_time = max(press_time, 200) # 設定最小的按壓時間位200ms

press_time = int(press_time)

cmd = 'adb shell input swipe {} {} {} {} {}'.format(swipe_x1, swipe_y1, swipe_x2, swipe_y2, press_time)

print(cmd)

os.system(cmd)

結果展示通過執行指令碼,能夠輕鬆上分到400+,由於時間原因並沒有繼續測試,下圖為測試時截的動態gif,以及控制台視窗執行結果。

圖2.真機執行

原生JS編寫小遊戲 跳一跳

1.先隨機生成地圖 2.按住按鈕釋放後完成動作並進行判斷 首先po一下 如下 按住它 主要分為用來繪製圓柱體分布的draw 函式,用來繫結按鈕事件的bindevent 函式,用來監聽css3動畫是否結束的gettransition 函式,用來判斷棋子是否出界的函式judeg 函式。而控制棋子運動的距...

微信小遊戲跳一跳外掛程式教程 安卓版

一.開始準備 請將安卓手機的usb除錯模式開啟,開發者選項 usb除錯然後與電腦相連 執行環境 這裡我是基於ubuntu中的python3環境 第一張圖是進入這個目錄,第二張圖是執行安裝命令 二.測試裝置是否連線 也就是測試一下電腦有沒有檢測到你的裝置 這裡就是手機 在liux命令中輸入一下命令ad...

微信小遊戲跳一跳外掛程式教程 安卓版

一.開始準備 請將安卓手機的usb除錯模式開啟,開發者選項 usb除錯然後與電腦相連 執行環境 這裡我是基於ubuntu中的python3環境 第一張圖是進入這個目錄,第二張圖是執行安裝命令 二.測試裝置是否連線 也就是測試一下電腦有沒有檢測到你的裝置 這裡就是手機 在liux命令中輸入一下命令ad...