编程类图书馆自己的世界自己码编程之美-Pyhon

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

2018-10-15  本文已影响3人  _年少无为

原理:

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

简单的说是重复以下的步骤:
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”即可免费获得!
上一篇 下一篇

猜你喜欢

热点阅读