使用python做王者荣耀挂机刷金币脚本!你get到了吗?

原理:

由于每次通过冒险模式都会有金币,而这个动作十分重复,连图像识别都不需要,可以考虑使用程序代替人工。

简单的说是重复以下的步骤:

1.界面打开至挑战关卡:陨落的废都 - 魔女回忆 【点击下一步】

2.点击开始闯关

3.进入挑战界面。【点击右上角-自动-等待挑战结束】

4.进入挑战完成界面。【点击屏幕继续】

5.进入关卡奖励界面。【点击再次挑战】

6.再次闯关

我们需要一个程序代替我们手工点点点,可以想到使用安卓sdk里的adb工具,向手机发送点击命令。

adb shell input tap x y

就是这个命令,如果 在cmd命令行里执行一下

adb shell input tap 500 500

就会在手机500,500位置模拟点击一下。

环境准备:

下载安卓的platform-tools:

http://www.androiddevtools.cn/

访问这个网址

找到这里

根据你的操作系统下载完了之后解压

然后配置环境变量:

在Path的最后加上刚刚你解压出来的目录,D:\platform-tools 是我刚刚解压的目录。与前面的字符串要用英文的分号;隔开

代码:

打开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,所以把所有坐标都写死了,可以根据自己手机修改上面的各种坐标及休眠时间。在手机的开发者模式里打开显示指针位置,就会显示你当前触摸的区域的坐标

ok到这里文章就结束了,关注公众号“Python学习聚集地”观看更多Python干货文章以及免费学习资源!

需要文章adb和详细的教学视频的,同样关注公众号回复“adb”即可免费获得!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181015A213OF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券