使用python做王者荣耀挂机刷金币脚本

news/2024/12/29 12:13:00/

原理:

由于每次通过冒险模式都会有金币,而这个动作十分重复,连图像识别都不需要,可以考虑使用程序代替人工。
简单的说是重复以下的步骤:
  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,所以把所有坐标都写死了,可以根据自己手机修改上面的各种坐标及休眠时间。在手机的开发者模式里打开显示指针位置,就会显示你当前触摸的区域的坐标



http://www.ppmy.cn/news/294400.html

相关文章

HDU 2489

题目: Minimal Ratio Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1140 Accepted Submission(s): 348 Problem Description For a tree, which nodes and edges are all weighted, th…

2896

病毒侵袭 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4441 Accepted Submission(s): 1138 Problem Description 当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻…

hdu 2098

分拆素数和 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 14023 Accepted Submission(s): 6023 Problem Description 把一个偶数拆成两个不同素数的和,有几种拆法呢? Input 输入包含…

2299

这道题目的大意 是求 冒泡排序的交换次数 但是 若这道题目 用冒泡排序做的话,肯定会超时 。O(n^2); 但这道题目可以转换为求 逆序数 的大小。(线性代数里面学过的) 9 1 0 5 4 逆序数41016 这正是 答案。 我们可以使用 merge_sort() 来…

p2249

二分查找stl #include<iostream> #include<vector> #include<algorithm>using namespace std;int main() {int n, m, temp_number, temp_search; // n 和 m&#xff0c;表示数字个数和询问次数。vector<int> number;vector<int> search;cin…

【服务器】常用命令汇总

查看当前使用服务器的用户 命令&#xff1a; w 使用w命令查看登录用户正在使用的进程信息 参考&#xff1a;https://blog.csdn.net/newdriver2783/article/details/8059368 修改服务器主机名hostname 查看主机名的命令 hostname 临时修改Linux主机名的方法 hostname linux…

【ELMAN回归预测】基于matlab麻雀搜索算法SSA优化ELMAN神经网络回归预测(多输入单输出)【含Matlab源码 2489期】

⛄一、麻雀算法简介 1 标准麻雀算法 算法运算过程由探索者、追随者与预警者3部分构成&#xff0c;其中探索者与追随者的总数量与比例不变&#xff0c;根据适应度数值的改变&#xff0c;两者可以相互转化。通过觅食和反捕食行为来不断更新种群成员最优位置。 设种群数量为n,在…

vue-router 4.0.xx 控制台 api.now is not a function 的解决方法

vue-router 4.0.xx 控制台 api.now is not a function 的解决方法 **摘要&#xff1a;**控制台报错 Uncaught (in promise) TypeError: api.now is not a function at vue-router.esm-bundler.js:2489:31 at vue-router.esm-bundler.js:3296:37 at Array.forEach () at trigge…