精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用Python寫游戲腳本原來這么簡單

開發 后端
本篇文章不是要講Airtest這個怎么用,而是用原始的python+opencv來實現上面的操作。

前言

最近在玩兒公主連結,之前也玩兒過陰陽師這樣的游戲,這樣的游戲都會有個初始號這樣的東西,或者說是可以肝的東西。

當然,作為一名程序員,肝這種東西完全可以用寫代碼的方式幫我們自動完成。游戲腳本其實并不高深,最簡單的體驗方法就是下載一個Airtest了,直接截幾個圖片,寫幾層代碼,就可以按照自己的邏輯玩兒游戲了。

當然,本篇文章不是要講Airtest這個怎么用,而是用原始的python+opencv來實現上面的操作。

這兩天我寫了一個公主連結刷初始號的程序,也不能算寫游戲腳本的老手,這篇文章主要是分享一些基礎的技術和使用上的心得吧。

準備工作

首先,我們要完成以下準備。

安卓設備一個:模擬器或者真機都可以。

安裝ADB,并添加到系統的PATH里:adb是用來

安裝tesseract-ocr,并添加到系統的PATH里:幫助我們實現簡單的字符識別

安裝python3.7以上的版本

這里adb和tesseract我放在百度網盤里了,里面順便放了一個錄制的效果視頻。

鏈接:pan.baidu.com/s/1edTPu2o7… 提取碼:33aw

python庫安裝

pipinstall pillow pytesseract opencv-python復制代碼

除此以外,如果有需要可以安裝uiautomator2,這篇文章就不涉及這塊知識了。

使用adb獲取安卓設備

這里我們主要是涉及到單個安卓設備的ADB連接操作,首先我們打開模擬器。

然后我們調用adb devices來獲取當前的安卓設備,我這里是一個模擬器。

接下來可以調用adb shell測試一下是否能進入到安卓設備的shell環境下,確認可以輸入exit退出即可。

如果有的時候進不了shell,可以先調用一下adb kill-server,然后再調用adb devices。

可能常用的ADB Shell命令

接下來是一些ADB的命令操作。通過adb命令,我們可以用python來操作的安卓設備。

屏幕截圖

最常見的操作就是截圖了,先調用screencap截圖放到安卓設備里,然后再把截圖下拉到電腦。

def take_screenshot():
os.system("adb shell screencap -p /data/screenshot.png")
os.system("adb pull /data/screenshot.png ./tmp.png")

下拉文件

下拉文件就是剛剛那個adb pull了,以公主連結為例,以下代碼可以導出賬號信息的xml,以后通過xml就可以登錄了。

os.system(f"adb pull /data/data/tw.sonet.princessconnect/shared_prefs/tw.sonet.princessconnect.v2.playerprefs.xml ./user_info.xml")

上傳文件

有了下拉自然就有上傳了,通過adb push即可完成。以公主連結為例,以下代碼可以完成賬號的切換。

# 切換賬號1
os.system("adb push ./user_info1.xml /data/data/tw.sonet.princessconnect/shared_prefs/tw.sonet.princessconnect.v2.playerprefs.xml")
# 切換賬號2
os.system("adb push ./user_info2.xml /data/data/tw.sonet.princessconnect/shared_prefs/tw.sonet.princessconnect.v2.playerprefs.xml")

點擊屏幕某個位置

def adb_click(center, offset=(0, 0)):
(x, y) = center
x += offset[0]
y += offset[1]
os.system(f"adb shell input tap {x} {y}")

輸入文字


text = "YourPassword"
os.system(f"adb shell input text {text}")

刪除字符

有的時候輸入框會有輸入的緩存,我們需要刪除字符。

# 刪除10個字符
for i in range(10):
os.system("adb shell input keyevent 67")

查詢當前運行的包名和Activity

通過以下代碼,可以查詢當前運行的程序的Activity,也可以順便查包名。

?

停止某個應用

有時候會需要停止某個應用,需要提供應用的包名。

adb shell am force-stop tw.sonet.princessconnect

開啟某個應用

開啟某個應用需要提供包名以及Activity。


adb shell am start -W -n tw.sonet.princessconnect/jp.co.cygames.activity.OverrideUnityActivity

圖像操作

對于圖像的操作第一就是圖像查找了,比如說像Airtest提供的這種,無非就是判斷某個圖像在不在截屏中,在的話在什么位置。

除此之外還需要一些摳圖,比如說我們想獲取賬號的id,賬號的等級,需要截取出一部分圖片然后進行OCR操作。

圖像查找

圖像查找其實就是先拿到兩張圖片,然后調用cv2.matchTemplate方法來查找是否存在以及位置,這里匹配是一個相對模糊的匹配,會有一個相似度的概率,最高是1。我們設定一個閾值來判斷模板是否在截屏里即可。

這里截屏如下,文件名為tmp.png:

模板如下:

代碼如下:

import cv2
def image_to_position(screen, template):
image_x, image_y = template.shape[:2]
result = cv2.matchTemplate(screen, template, cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
print("prob:", max_val)
if max_val > 0.98:
global center
center = (max_loc[0] + image_y / 2, max_loc[1] + image_x / 2)
return center
else:
return False
if __name__ == "__main__":
screen = cv2.imread('tmp.png')
template = cv2.imread('Xuandan.png')
print(image_to_position(screen, template))

運行上述代碼后,可以看到模板匹配出來的概率為0.9977,位置為(1165, 693),對于一張圖片,左上角為原點,因為我的分辨率是1280 * 720,那么右下角的坐標就是(1280, 720)。可以看到我們這個選單其實就是剛好在右下角的位置。

如何快速裁剪模板?(win10)

游戲腳本其實并不是代碼很難寫,而是需要截很多的圖,這些圖要保證分辨率和原始一樣。我發現在win10如果用畫圖打開圖片

可以保證使用QQ截屏出來的分辨率,和圖片本身的分辨率一樣。

這個時候直接用qq截屏出來的模板即可直接用于識別。

圖像裁剪

接下來就是有時候需要裁剪一些圖像了,當然我們的模板圖片也可以通過裁剪圖片的方式得到,這樣的模板圖片是最準的。

裁剪其實就是需要裁剪的位置,以及需要的高度和寬度,說白了就是一篇長方形的區域,下面的代碼使用PIL庫實現。

from PIL import Image
def crop_screenshot(img_file, pos_x, pos_y, width, height, out_file):
img = Image.open(img_file)
region = (pos_x, pos_y, pos_x + width, pos_y + height)
cropImg = img.crop(region)
cropImg.save(out_file)
print("exported:", out_file)
if __name__ == "__main__":
crop_screenshot("tmp.png", 817,556, 190, 24, "test_id.png")

上面的代碼以截取玩家的id為例。

運行代碼后,得到截圖如下:

簡單的OCR

得到了以上的圖片信息后就是進行OCR了,也就是光學字符識別。這里代碼非常簡單,只要調用API即可。


from PIL import Image
import pytesseract
image = Image.open('test_id.png')
content = pytesseract.image_to_string(image) # 識別圖片
print(content)

不過需要注意的一點就是pytesseract識別出來的結果會有空格符,換行符這樣的符號,真正要用的時候進行一些字符的過濾即可。

The End

這篇文章到這里就結束了,主要還是介紹一些ADB以及圖像相關的基礎操作。謝謝大家的觀看。

責任編輯:龐桂玉 來源: 運維派
相關推薦

2021-12-30 10:55:54

Python游戲腳本

2021-04-19 05:42:51

Mmap文件系統

2023-11-01 14:49:07

2020-11-02 14:38:56

Java 深度學習模型

2014-10-08 15:00:50

SUSE操作系統云計算

2019-03-15 10:55:12

通信系統手機

2020-09-24 06:44:54

HTTPS網站 HTTP

2023-09-22 08:00:00

分布式鎖Redis

2020-11-27 10:34:01

HTTPHTTPS模型

2021-08-29 18:13:03

緩存失效數據

2020-10-22 08:01:52

XMLJSON轉換

2010-08-02 13:55:20

2014-11-25 15:02:01

客服系統

2016-03-21 11:09:52

Tableau/大數據

2025-07-28 01:22:00

2025-03-20 12:33:36

2019-05-27 14:03:48

開發技能代碼

2021-06-10 06:57:39

Redis存儲數據庫

2024-10-17 16:55:08

2020-09-25 07:49:36

策略模式Spring
點贊
收藏

51CTO技術棧公眾號

日本道在线观看| 五月婷婷丁香综合网| 男人天堂综合网| 日韩一区精品字幕| 九色91av视频| 91精品国产自产| 欧美天堂一区| 五月天网站亚洲| 亚洲三区四区| 无码国产精品96久久久久| 男女视频一区二区| 欧美日韩国产成人高清视频| 中文字幕国产综合| 一级毛片精品毛片| 欧美在线观看视频一区二区| 妞干网视频在线观看| 国产欧美小视频| 视频亚洲一区二区| 欧美午夜电影在线播放| 欧美精品卡一卡二| 午夜在线视频播放| 91视频www| av资源一区二区| 中文人妻熟女乱又乱精品| 1024日韩| 欧美精品性视频| 国产精品久久久视频| 欧美午夜寂寞| 日韩一级免费一区| 色乱码一区二区三区在线| 热三久草你在线| 一区二区三区国产豹纹内裤在线| 五月天综合网| 韩国精品视频| 久久综合色综合88| 国产乱码一区| 国产高清第一页| 久久国产精品色婷婷| 国产精品va在线播放我和闺蜜| 久久久精品视频免费| 亚洲免费二区| 精品国产欧美一区二区三区成人| 在线不卡av电影| 真实原创一区二区影院| 日韩成人小视频| 李丽珍裸体午夜理伦片| 综合激情五月婷婷| 欧美电视剧在线看免费| 18深夜在线观看免费视频| 国产激情综合| 7777精品伊人久久久大香线蕉 | 国产欧美日韩在线播放| 国产成人精品av在线观| 国产真实乱对白精彩久久| 国产女人精品视频| 亚洲视频一区在线播放| 美洲天堂一区二卡三卡四卡视频| 国产精品扒开腿爽爽爽视频| 日本视频免费观看| 天堂一区二区在线免费观看| 国产精品久久久久久久久久新婚| 国产又粗又猛又爽又| 日韩成人午夜精品| 国产精品偷伦一区二区 | 欧美三级网站| 色综合天天综合色综合av| 激情六月丁香婷婷| 主播大秀视频在线观看一区二区| 欧美性生交片4| 国产精品视频中文字幕| 电影一区二区三区久久免费观看| 欧美一区二区三区男人的天堂| 永久免费黄色片| 91久久精品无嫩草影院| 亚洲国内精品在线| 色婷婷在线影院| 欧美日韩国产在线观看网站 | 欧美三级一区二区| 日韩av一卡二卡三卡| 日韩精品一区二区三区中文字幕 | 人妻精品久久久久中文字幕| 一区二区三区日本久久久| 亚洲人成网7777777国产| 亚洲精品乱码久久久久久久久久久久| 日韩1区2区| 欧美成人激情视频| 青青草av在线播放| 免费人成精品欧美精品| aa成人免费视频| 你懂的在线免费观看| 国产精品久久久久久久久免费桃花 | 成都免费高清电影| 国产精品二区不卡| 午夜精品久久久久久久白皮肤 | 欧美一区二区三区的| 中文成人无字幕乱码精品区| 日韩.com| 欧美亚州一区二区三区| 91theporn国产在线观看| 懂色一区二区三区免费观看| 日韩精彩视频| 伊人春色在线观看| 在线视频中文字幕一区二区| 手机在线播放av| 国产精品一国产精品| 色综合久久悠悠| 日韩国产成人在线| 国产成人精品一区二区三区四区| 日本精品免费| 精灵使的剑舞无删减版在线观看| 在线观看av不卡| 成人在线电影网站| 91一区二区三区四区| 2020久久国产精品| a视频免费在线观看| 国产日韩欧美激情| 少妇人妻大乳在线视频| 成人亚洲精品| 在线成人一区二区| 久久国产视频精品| 成人性生交大合| 亚洲在线欧美| 日韩天堂在线| 日韩av一区在线| 久草国产在线观看| 精品一区二区三区在线视频| 日韩成人在线资源| 黄视频网站在线观看| 日韩欧美亚洲国产精品字幕久久久| 成熟人妻av无码专区| 国产精品美女久久久| 粉嫩av免费一区二区三区| 欧美激情午夜| 欧洲色大大久久| 久久丫精品国产亚洲av不卡| 亚洲激情影院| 国产乱码精品一区二区三区日韩精品| 国产精品刘玥久久一区| 欧美日韩国产首页在线观看| 国产调教在线观看| 玖玖视频精品| 欧美资源一区| 中文字幕不卡三区视频| 日韩国产精品一区| 黄色一级片免费看| www.99精品| 精品少妇在线视频| 久久a级毛片毛片免费观看| 欧美激情一区二区三区在线视频观看| jizz中国少妇| 亚洲精品成人在线| 日本中文字幕精品| 黄色在线一区| 国产一区高清视频| 无遮挡爽大片在线观看视频| 日韩精品在线视频观看| 草久久免费视频| www日韩大片| 日韩在线第三页| 成人同人动漫免费观看 | 久久成人免费视频| 99久久精品免费看国产交换| 亚洲精品乱码久久久久久日本蜜臀| 91亚洲一区二区| 欧美精品啪啪| 精品国产_亚洲人成在线| 综合日韩av| 国产一区二区三区在线观看网站| 中文字幕激情视频| 亚洲免费大片在线观看| 精品一区二区三区四区五区六区| 国产深夜精品| 翔田千里亚洲一二三区| 激情综合婷婷| 97国产成人精品视频| 精品影院一区| 制服丝袜亚洲播放| 日本三级网站在线观看| 久久九九久精品国产免费直播| 在线观看av网页| 综合激情一区| 欧美性大战久久久久| 久久亚洲资源中文字| 欧美第一黄色网| 免费黄网站在线观看| 欧美日高清视频| 黄色片视频网站| 中文字幕av一区二区三区高| 日日夜夜精品视频免费观看| 性8sex亚洲区入口| 国产高清免费在线| 欧美亚视频在线中文字幕免费| 国产精品主播视频| aa国产成人| 最近2019中文字幕在线高清| 亚洲精品国产精| 欧美性猛交一区二区三区精品| 欧美黑吊大战白妞| 国产日韩欧美不卡| 蜜桃色一区二区三区| 日韩av电影天堂| 亚洲 欧美 综合 另类 中字| 俺要去色综合狠狠| 精品中文字幕人| 精品一区二区三区中文字幕在线| 青草青草久热精品视频在线观看| 成人在线免费看片| 亚洲色图15p| 欧美一级特黄aaaaaa大片在线观看| 欧美性大战久久久久久久| 91精品国产高潮对白| 中文字幕av在线一区二区三区| 99久久人妻精品免费二区| 国产一区二区免费视频| 男人添女人下面免费视频| 99国内精品| 国产在线观看欧美| 欧美高清在线| 午夜精品美女久久久久av福利| 农村少妇一区二区三区四区五区 | 久久久久久尹人网香蕉| 欧美96在线| 国产一区二区三区网站| 五月激情六月婷婷| 日韩欧美激情一区| 国产模特av私拍大尺度| 欧美午夜精品电影| 亚洲永久精品一区| 欧美日韩国产一中文字不卡 | 狠狠色狠色综合曰曰| 久久综合色综合| 亚洲精品视频在线| 久久福利免费视频| 国产精品欧美一级免费| xxxxx99| 欧美经典一区二区| 色欲AV无码精品一区二区久久 | 日韩美女视频在线| av男人天堂网| 日韩亚洲欧美在线| aaa一区二区| 日韩一区二区三区电影 | 国产成人av一区二区三区在线| 九一精品久久久| 狠狠久久亚洲欧美| 日韩av片免费观看| 国产一区二区三区美女| 佐山爱在线视频| 国产不卡在线播放| 91精品又粗又猛又爽| 成人18精品视频| 成年人的黄色片| 91丨九色丨黑人外教| 精品久久久久久中文字幕人妻最新| 91丨九色丨国产丨porny| 香蕉视频黄色在线观看| 久久久久99精品一区| 黄色aaa视频| 国产精品狼人久久影院观看方式| 自拍偷拍第9页| 亚洲男同1069视频| 久久影院一区二区| 色综合天天综合网国产成人综合天| 亚洲视频 欧美视频| 欧美性色黄大片手机版| 国产精品久久久久毛片| 日韩午夜激情av| 天堂8在线视频| 在线观看精品国产视频| 激情成人四房播| 亚洲精品免费电影| 亚洲综合网中心| 亚洲成人tv| av在线观看地址| 久久久久看片| 欧美精品一区二区精品网| 亚洲中文一区二区三区| 日韩午夜激情av| 日本天堂在线| 精品国偷自产在线视频| 久久久123| 国产精品成人av性教育| 欧美经典影片视频网站| 国产私拍一区| 欧美一级淫片| 少妇一晚三次一区二区三区| 久久久青草婷婷精品综合日韩| 色综合色综合色综合色综合| 粉嫩一区二区三区在线看| 中文字幕在线1| 亚洲综合在线免费观看| 男人天堂2024| 日韩欧美综合一区| 狠狠色伊人亚洲综合网站l| 美女福利精品视频| 在线观看欧美日韩电影| 91精品综合久久| 欧美美女视频| 91视频 -- 69xx| 国产在线看一区| 中文字幕第20页| 一区二区三区日韩精品| 欧美在线视频精品| 亚洲第一中文字幕| 永久av在线| 日本国产欧美一区二区三区| 日韩一区二区三区高清在线观看| 欧美日韩一区在线观看视频| 欧美日韩国产高清| 一区二区在线免费看| 91丨porny丨蝌蚪视频| 美女福利视频在线观看| 欧美无乱码久久久免费午夜一区| 亚洲精品综合久久| 日韩亚洲精品视频| 国产精品极品美女在线观看| 国产精品青青草| 欧美+亚洲+精品+三区| www亚洲成人| 91浏览器在线视频| 在线免费观看毛片| 日韩一区二区在线看片| 黄色大片在线播放| 国产精品国产福利国产秒拍 | 久久99深爱久久99精品| 中文字幕一区二区三区人妻| 亚洲成在人线免费| 精品国产999久久久免费| 久久精品电影网站| 成人午夜亚洲| 日韩电影免费观看在| 久久国产毛片| 中文字幕xxx| 欧美日韩美女在线观看| 色香蕉在线视频| 久久国产精品网站| 无码国模国产在线观看| 免费成人深夜夜行网站视频| 精彩视频一区二区三区| 一级免费黄色录像| 欧美日韩视频在线一区二区| 成年人在线观看| 国产精品久久久久久久久久三级| 国产剧情在线观看一区| 久久精品午夜福利| 久久久精品黄色| 波多野结衣电车痴汉| 亚洲香蕉av在线一区二区三区| 美女100%一区| 色姑娘综合网| 精品一区二区三区久久久| 麻豆精品国产免费| 欧美一区二区三区视频在线观看| 黄色一级片在线观看| 亚洲永久在线观看| 欧美激情五月| 国产真实乱人偷精品| 精品日韩美女的视频高清 | 久久国产精品视频| 99re6热只有精品免费观看| 成年人午夜视频在线观看| www激情久久| 一区二区三区黄| 欧美成人黑人xx视频免费观看| 荡女精品导航| 久久网站免费视频| 欧美国产日韩亚洲一区| 国产免费黄色录像| 国色天香2019中文字幕在线观看| 欧美综合精品| 超碰超碰在线观看| 一区二区三区在线播| 手机福利在线| 国产精品久久久久久久午夜 | 亚洲国产成人午夜在线一区| 国产精品国产av| 欧美精品videos性欧美| 亚洲图片久久| 1314成人网| 欧美午夜片欧美片在线观看| 超碰97在线免费观看| 亚洲www在线| 亚洲综合国产激情另类一区| 艳妇荡乳欲伦69影片| 亚洲国产精彩中文乱码av| jizzyou欧美16| 久久久久久久久久伊人| 久久青草欧美一区二区三区| 国产口爆吞精一区二区| 91a在线视频| 一区二区三区午夜探花| 久久精品国产亚洲av久| 日韩一区二区三区在线| 日本成人三级电影| 国产精品啪啪啪视频| 久久久久成人黄色影片| 亚洲AV午夜精品| 国产精品一二区| 亚洲欧美清纯在线制服| 亚洲熟女www一区二区三区|