因为是用手机发布的这篇文章,就不做过多的介绍了,简单的介绍一下这个工具。
这个脚本主要使用图像匹配,然后通过adb命令操作手机,所以请确保在手机的开发者选项中启用USB调试。(以华为为例)
其次需要在脚本目录下新建一个btn文件夹,里面存放需要点击的按钮的截图,另外还需要下载你的系统对应的adb程序,并放在脚本同级目录下(打包好的软件稍后放上链接,可直接使用)
下面是程序的源码,打包好的程序稍后我会放上链接。
import aircv as ac
import subprocess
import random
import time
count = 0
coins = 4900 # 3900 - 1175 - 45 * 3
def fprint(msm):
print(f"[{time.strftime('%H:%M:%S', time.localtime(time.time()))}] {msm}")
def getScreen():
subprocess.run(f"adb.exe shell screencap -p /sdcard/screen.png", capture_output=True)
subprocess.run(f"adb.exe pull /sdcard/screen.png", capture_output=True)
# time.sleep(2)
# fprint("手机截图成功")
def sendKey(pos):
width, height = pos[0], pos[1]
subprocess.run(f'adb.exe shell input tap {width} {height}', capture_output=True)
def find(btn, opt=True):
global count
global coins
imsrc = ac.imread('screen.png')
imobj = ac.imread(btn)
pos = ac.find_template(imsrc, imobj)
if pos and pos.get('confidence') > 0.90:
w = [pos['rectangle'][0][0], pos['rectangle'][2][0]]
h = [pos['rectangle'][0][1], pos['rectangle'][1][1]]
pos = [random.randint(w[0], w[1]), random.randint(h[0], h[1])]
sendKey(pos)
if btn == "btn/dianjipingmujixu.png":
count += 1
fprint(f"已经完成了{count}次挑战") # ,总收益为{45 * count}; 剩余收益:{coins - 45 * count}(按总收益4900计算,请结合自己账号情况)")
if coins - 45 * count < 0:
fprint(f"已经达到金币上限,脚本退出")
exit()
elif btn == "btn/wanxiangtiangong.png":
fprint(f"点击 万象天工{pos}")
elif btn == "btn/maoxianwanfa.png":
fprint(f"进入 冒险模式{pos}")
elif btn == "btn/tiaozhan.png":
fprint(f"进入 挑战{pos}")
elif btn == "btn/xiayibu.png":
fprint(f"点击 下一步{pos}")
elif btn == "btn/tiaoguo.png":
fprint(f"点击 跳过{pos}")
elif btn == "btn/zaicitiaozhan.png":
fprint(f"点击 再次挑战{pos}")
elif btn == "btn/dianjipingmujixu.png":
fprint(f"点击 点击屏幕继续{pos}")
elif btn == "btn/chuangguan.png":
fprint(f"点击 闯关{pos}")
elif opt:
pass
else:
exit("未知元素导致程序异常退出")
if __name__ == "__main__":
fprint("程序启动,开始监听手机屏幕,请确保手机已经打开USB调试")
while True:
# 点击挑战
getScreen()
find("btn/wanxiangtiangong.png")
find("btn/maoxianwanfa.png")
find("btn/tiaozhan.png")
find("btn/xiayibu.png")
find("btn/chuangguan.png", opt=True)
find("btn/tiaoguo.png", opt=True)
find("btn/dianjipingmujixu.png", opt=True)
find("btn/zaicitiaozhan.png", opt=True)
# time.sleep(1)
下面是我自己运营的微信小程序“但行趣事”和公众号“微电脑”,更多的技术文章以及视频我会放到小程序和公众号当中,有志同道合的小伙伴也可以在小程序(联系客服按钮)或者公众号(直接留言)当中联系我们
|
|