金铲铲S13双城之战自动拿牌助手

embedded/2024/11/29 9:27:34/

金铲铲S13双城之战自动拿牌助手

基于pythonpyautogui金铲铲自带备战助手实现

B站视频演示效果

【<a class=金铲铲S13双城之战自动拿牌助手】 https://www.bilibili.com/video/BV1cRBxY2Eux/?share_source=copy_web&vd_source=d254b3760edf8cb281bfc7e82d7ce4e5" />

shuangcheng.py

python">import timeimport pyautogui
import datetimeprint('请关注您的分辨率,此程序需要配合thumbs_x_y.txt文件同时使用')
print('简介:thumbs_x_y.txt文件')
print('此文件为配置文件,内容一共6行')
print('前5行为金铲铲内置助手大拇指在你电脑上的x坐标')
print('第6行为y坐标,y坐标只有1个,因为5个大拇指都是在同一水平线上的')
print('注意:此文件放在和.exe文件同级目录下,没有此文件,程序无法正常运行')
# 获取屏幕分辨率(宽高) Size(width=1920, height=1080)
screen_width, screen_height = pyautogui.size()
welcome = 'Hello 双城之战!您当前屏幕像素宽度:' + str(screen_width) + '屏幕高度:' + str(screen_height)
pyautogui.alert(welcome)time.sleep(1)
# 获取雷电模拟器
win = pyautogui.getWindowsWithTitle('雷电模拟器')if len(win) > 0:print('找到雷电模拟器窗口了')
else:raise BaseException("没有找到雷电模拟器窗口")
# 将游戏窗口最大化,使窗口处于最前面
win[0].maximize()
win[0].activate()# 校验坐标要有值 定义一个校验函数
def is_valid_number(value):# 检查是否为数字类型(int 或 float)且不是 Nonereturn isinstance(value, (int, float)) and value is not None# 检查入参
def check_input_params(x1, x2, x3, x4, x5, y):# 校验所有 x 坐标和 y 坐标if not all(is_valid_number(x) for x in [x1, x2, x3, x4, x5]):raise ValueError("所有 x 坐标都必须是数字且不能为空")if not is_valid_number(y):raise ValueError("y 坐标必须是数字且不能为空")# 5个大拇指坐标,x坐标不同,y坐标一样,都是一条水平线上的thumbs_x_y = ((x1, y),(x2, y),(x3, y),(x4, y),(x5, y))return thumbs_x_ydef start(thumbs_x_y):# 记录打印日志时间,设置打印等待日志间隔now = datetime.datetime.now()init_sec = now.secondwhile True:for index, thumb in enumerate(thumbs_x_y):thumb_color = pyautogui.pixel(thumb[0], thumb[1])# print(thumb_color[0] > 240, thumb_color[1] > 240, thumb_color[2] > 200)# RGB三色red = 240 < thumb_color[0]green = 240 < thumb_color[1]blue = 210 < thumb_color[2]# not_white_color 白色背景会影响程序判断,对白色的处理if thumb_color[0] == 255 and thumb_color[1] == 255 and thumb_color[2] == 255:print('当前屏幕显示背景在5个大拇指的位置有白色,请使用ALT+Tab组合键切出此窗口或关闭程序')time.sleep(2)continueif thumb_color[0] == 245 and thumb_color[1] == 245 and thumb_color[2] == 245:print('当前屏幕显示背景在5个大拇指的位置有杂色,请使用ALT+Tab组合键切出此窗口或关闭程序')time.sleep(2)continueif red and green and blue:print(index, "真的有true,即将点击", thumb[0], thumb[1])# pyautogui.click(thumb[0], thumb[1])# 改为模拟键盘按钮if index == 0:print('按键1')pyautogui.press('1')if index == 1:print('按键2')pyautogui.press('2')if index == 2:print('按键3')pyautogui.press('3')if index == 3:print('按键4')pyautogui.press('4')if index == 4:print('按键5')pyautogui.press('5')# 获取当前时间now = datetime.datetime.now()# 格式化时间为“时:分:秒”formatted_time = now.strftime("%H:%M:%S")if abs(now.second - init_sec) >= 10:# print("当前时间(时:分:秒):", formatted_time)print("等待中", formatted_time)init_sec = now.second# 用来遍历的
list_6 = [1, 2, 3, 4, 5, 6]
# x1 = 720
# x2 = 914
# x3 = 1107
# x4 = 1300
# x5 = 1493
# y坐标
# y = 970
x1 = -1
x2 = -1
x3 = -1
x4 = -1
x5 = -1
y = -1
# 打开文件并逐行读取
with open('thumbs_x_y.txt', 'r') as file:for i, item in enumerate(list_6):line = file.readline()# print(line, end='')  # `end=''`用于避免打印额外的换行符# print('序号:', i, '值:', item)if i == 0:x1 = int(line)if i == 1:x2 = int(line)if i == 2:x3 = int(line)if i == 3:x4 = int(line)if i == 4:x5 = int(line)if i == 5:y = int(line)start(check_input_params(x1, x2, x3, x4, x5, y))

配置文件thumbs_x_y.txt,要求和.exe文件同层级目录
thumbs_x_y.txt

720
914
1107
1300
1493
970

http://www.ppmy.cn/embedded/141421.html

相关文章

Spring Boot【四】

单例bean中使用多例bean 1.lookup-method方式实现 当serviceB中调用getServiceA的时候&#xff0c;系统自动将这个方法拦截&#xff0c;然后去spring容器中查找对应的serviceA对象然后返回 2.replaced-method&#xff1a;方法替换 我们可以对serviceB这个bean中的getServiceA…

Cobalt Strike 4.8 用户指南-第十一节 C2扩展

11.1、概述 Beacon 的 HTTP 指标由 Malleable Command and Control &#xff08;Malleable C2&#xff09; 配置文件控制。Malleable C2 配置文件是一个简单的程序&#xff0c;它指定如何转换数据并将其存储在事务中。转换和存储数据的同一程序&#xff08;向后解释&#xff0…

uniapp css无法显示进度条的问题解决

最近在开发uniapp页面时 发现即使写了css overflow: scroll强制显示滑动进度条 依然没有显示&#xff0c;想了想&#xff0c;肯定是官方的样式表做了相应的处理。果然一检查&#xff0c;在全局样式发现了&#xff1a; ::-webkit-scrollbar { display: none; } 因此&#xff0c;…

某科技研发公司培训开发体系设计项目成功案例纪实

某科技研发公司培训开发体系设计项目成功案例纪实 ——建立分层分类的培训体系&#xff0c;加强培训跟踪考核&#xff0c;促进培训成果实现 【客户行业】科技研发行业 【问题类型】培训开发体系 【客户背景】 某智能科技研发公司是一家专注于智能科技、计算机软件技术开发与…

【HarmonyOS学习日志(10)】一次开发,多端部署之功能级一多开发,工程级一多开发

功能级一多开发 SysCap机制介绍 HarmonyOS使用SysCap机制&#xff08;即SystemCapability&#xff09;&#xff0c;可以帮助开发者仅关注设备的系统能力&#xff0c;而不用考虑成百上千种具体的设备类型。 在过去&#xff0c;开发不同设备上的应用就用不同设备的SDK进行开发&…

深度学习基本单元结构与输入输出维度解析

深度学习基本单元结构与输入输出维度解析 在深度学习领域&#xff0c;模型的设计和结构是理解其性能和应用的关键。本文将介绍深度学习中的基本单元结构&#xff0c;包括卷积神经网络&#xff08;CNN&#xff09;、反卷积&#xff08;转置卷积&#xff09;、循环神经网络&…

泷羽sec-linux进阶

基础之linux进阶 声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽…

【YOLO系列复现】二、基于YOLOv6的目标检测:YOLOv6训练自己的数据集(史诗级详细教程)

官方模型&#xff1a;YOLOv6/README_cn.md at main meituan/YOLOv6 目录 1、模型和环境准备 1.1 模型下载 1.2 依赖环境安装 1.3 权重文件下载 1.4 环境测试 2、配置文件和数据集准备 2.1 准备数据集 2.2 配置文件准备 2.3 BUG修改 3、模型训练 3.1 模型训练 3.2 …