原理:
由于每次通过冒险模式都会有金币,而这个动作十分重复,连图像识别都不需要,可以考虑使用程序代替人工。
简单的说是重复以下的步骤:
界面打开至挑战关卡:陨落的废都 - 魔女回忆 【点击下一步】
点击开始闯关
进入挑战界面。【点击右上角-自动-等待挑战结束】
进入挑战完成界面。【点击屏幕继续】
进入关卡奖励界面。【点击再次挑战】
再次闯关
我们需要一个程序代替我们手工点点点,可以想到使用安卓sdk里的adb工具,向手机发送点击命令。
adb shell input tap x y
就是这个命令,如果 在cmd命令行里执行一下
adb shell input tap 500 500
就会在手机500,500位置模拟点击一下。
undefined环境准备:
下载安卓的platform-tools:
访问这个网址
找到这里
根据你的操作系统下载完了之后解压
undefined然后配置环境变量:
在Path的最后加上刚刚你解压出来的目录,D:\platform-tools 是我刚刚解压的目录。与前面的字符串要用英文的分号;隔开
undefined代码:
打开IDE粘贴以下代码:
# -*- coding: utf-8 -*-
import os
from time import sleep
repeat_times = 600
def tap_screen(x, y):
os.system('adb shell input tap {} {}'.format(x, y))
if __name__ == '__main__':
for i in range(repeat_times):
if(i > 0):
tap_screen(2489, 1307) # 再次挑战
print("再次挑战开始")
sleep(5)
tap_screen(2155, 1218)#闯关
print("开始闯关")
sleep(12)
tap_screen(2764, 53)#自动
print("自动按钮点击")
sleep(50)
tap_screen(500,500)#点击屏幕继续
print("点击屏幕继续")
sleep(5)
tap_screen(2489, 1307) # 再次挑战
sleep(1)
print(i)
os.system 的效果就和你在cmd里执行命令一样
由于现在奇怪比例的手机层出不穷,我自己用的18.5:9的三星S8,所以把所有坐标都写死了,可以根据自己手机修改上面的各种坐标及休眠时间。在手机的开发者模式里打开显示指针位置,就会显示你当前触摸的区域的坐标
小编推荐一个学Python的学习裙【 735934841 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!每天晚上8点还会直播讲课,大家可以一起互动学习,一起进步。
网友评论