使用使用Python实现跳一跳自动跳跃功能实现跳一跳自动跳跃功能
1. OpenCV:模板匹配。 获得小跳棋中心位置
2. OpenCV:边缘检测。 获得下一方块中心位置
Python+ADB+OpenCv,实现「 跳一跳 」自动化。
/ 01 / ADB
ADB工具即Android Debug Bridge(安卓调试桥) tools。
ADB 是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。
与之前小F接触过的Appium有点相似。
ADB的安装很简单,就是将安装包解压后,将路径添加到系统的环境变量中即可。
然后使用Python的os模块执行ADB命令。
def get_screenshot():
# 截取手机的屏幕
os.system('adb shell /system/bin/screencap -p /sdcard/screencap.png')
# 把模拟器里面的文件或文件夹传到电脑上
os.system('adb pull /sdcard/screencap.png screencap.png')
def jump(distance):
# 设置按压时间,系数为1.35
press_time = int(distance * 1.35)
# 生成随机手机屏幕模拟触摸点,防止成绩无效
# 生成随机整数(0-9),最终数值为(0-90)
rand = 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)
本次涉及到的ADB命令,就只有三个,不多。
一个截屏,一个推送手机截图到电脑上,最后模拟长按手机屏幕。
/ 02 / 跳动实现跳动实现
先检测游戏结束画面。