0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

教你实现用Python自动玩王者荣耀

Linux爱好者 来源:Jack Cui 作者:Jack Cui 2021-11-19 10:49 次阅读

「王者荣耀」想必大家就算没有玩过,也都听过。

腾讯 AI Lab 开发的策略协作型“绝悟”,最强 AI 分分教你做人。

但那个是像 Alpha Go 一样,需要掌握海量数据和机器的团队,才能玩得起的。

今天,就给大家带来一个「平民版」,咱们都能玩的王者荣耀 AI。

视频两倍速播放,只训练了一个「后裔」英雄,如果想用其他英雄,可以自己训练。

今天继续手把手教学,你准备好了吗?

1

实现原理

为了让我们的代码能够控制手机的「王者荣耀」,我们需要实现在电脑上操控手机。

需要用到什么呢?scrcpy 和 minitouch。

scrcpy 可以将安卓手机的画面投屏到电脑桌面显示上并进行操控。

简单地说,就是可以让你在电脑上控制手机!它支持鼠标控制、键盘输入、电脑剪切板复制粘贴、拖放文件传输到手机、以及拖放 APK 文件进行安装。

使用 scrcpy 你无需 ROOT 手机,也不需在手机上安装 APP,只需在系统设置里启用“USB调试”( adb 调试) 即可。

minitouch 提供了一个 socket 接口用在 Android 设备上的多点触摸事件以及手势。也是无需 ROOT 手机。

用 scrcpy 获取游戏画面,获取 scrcpy 的句柄,然后截图,根据图片生成操作指令,然后利用 minitouch 高效的执行这些操作指令。

所以关键在于,如何根据图片生成操作指令。

没错,用 Transformer。

上两天火的 DALL·E 都见到了吧?OpenAI 最新发布的,它可以魔法一般按照自然语言文字描述直接生成对应图片!

比如输入文本:鳄梨形状的扶手椅。

这生产效果真是堪称神奇!自然语言与视觉的壁垒正在被逐渐打通。

反过来,图片生成描述,更简单了,这样的工作几年前就用了。

使用 Transformer,根据游戏图像,生成当前画面的操作描述。

比如前进、攻击、释放技能。

2

算法测试

首先你得有个能跑 Transformer 的显卡,安装需要的第三方库,例如 pyminitouch、pytorch 等。

然后安装 scrcpy,这个安装教程很多,百度一搜一大把,将所有东西放在与下载的代码同级目录下。

85294ae6-43cb-11ec-b939-dac502259ad0.png

下载训练好的模型文件。

还是老规矩,将代码和模型打包了,用回复关键字 “王者” 获取

需要注意的是,不同手机的 minitouch 配置可能有所不同,代码的测试机器分辨率是 1080*2160,这里需要根据自己的情况进行修改。

配置好环境后,就可以运行代码了。

运行文件“启动和结束进程.py”,启动scrcpy。把“训练数据截取_A.py” 中的两项改成你的设备:

8593e1f8-43cb-11ec-b939-dac502259ad0.png

启动王者荣耀进入 5v5 人机对战后,运行 “训练数据截取_A.py” 即可。

赶快自己体验一波吧!训练一个你最爱的英雄!

项目地址:https://github.com/FengQuanLi/ResnetGPT

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    31845

    浏览量

    270673
  • python
    +关注

    关注

    56

    文章

    4811

    浏览量

    85102

原文标题:用 Python 自动玩王者荣耀,简直太秀了!

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    用DeepSeek-R1实现自动生成Manim动画

    动画,视觉化呈现抽象的概念与原理。 什么是Manim?  Manim 是一个基于 Python 的动画引擎,专门用于创建高质量的数学相关动画,广泛应用于教育、科普等领域,帮助人们更直观地理解抽象的数学概念和原理。所有 有志于从事技术布道的科技博主或教师,都应该学习并用好Manim ,
    的头像 发表于 02-07 12:31 1865次阅读
    用DeepSeek-R1<b class='flag-5'>实现</b><b class='flag-5'>自动</b>生成Manim动画

    调试ADS1258如何实现用定时器控制精确地时间采样,好像自动扫描方式都是确定的采样频率?

    调试ADs1258遇到几个问题: 1、调试ADS1258如何实现用定时器控制精确地时间采样,好像自动扫描方式都是确定的采样频率? 2、如果想用固定通道采样模式,是单端输入,如何实现通道选择呀?
    发表于 02-05 08:53

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 465次阅读

    把YOLOv11和Python Qt做个用户界面程序

    早些时间,小编想把PID控制器优化部分通过Py Qt来实现用户界面化,不过看着窗口一堆参数,有点发怵:这玩意谁用啊? 参考《PID控制器参数自动优化示例和比较》 后来就搁置了。 在通过Python
    的头像 发表于 11-28 10:18 679次阅读
    把YOLOv11和<b class='flag-5'>Python</b> Qt做个用户界面程序

    Python环境下的代理服务器搭建与自动化管理

    Python环境下搭建与自动化管理代理服务器是一项涉及网络编程和自动化技术的综合任务。
    的头像 发表于 11-14 07:31 261次阅读

    荣耀智慧电视如下图片请问是哪里有问题,屏还是主板?

    荣耀智慧电视如下图片请问是哪里有问题,屏还是主板?
    发表于 09-05 11:33

    EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划

    EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划。
    的头像 发表于 08-15 11:49 742次阅读
    EtherCAT运动控制器PT/PVT<b class='flag-5'>实现用</b>户自定义轨迹规划

    使用Python批量连接华为网络设备

    随着网络规模的扩大和设备数量的增加,手动配置和管理每台网络设备变得越来越不现实。因此,自动化工具和脚本变得尤为重要。Python语言以其简洁性和强大的第三方库支持,成为了网络自动化领域的首选。本篇文章将详细介绍如何使用
    的头像 发表于 08-12 17:48 566次阅读

    Python自动训练人工神经网络

    人工神经网络(ANN)是机器学习中一种重要的模型,它模仿了人脑神经元的工作方式,通过多层节点(神经元)之间的连接和权重调整来学习和解决问题。Python由于其强大的库支持(如TensorFlow、PyTorch等),成为了实现和训练ANN的首选语言。
    的头像 发表于 07-19 11:54 430次阅读

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊方法。下面我们开始学习这九种不同的方法来
    的头像 发表于 07-18 14:53 493次阅读

    如何使用NB860/MB960/MB260模组实现用户设备与OneNET(Studio)平台的连接?

    如何使用NB860/MB960/MB260模组实现用户设备与OneNET(Studio)平台的连接
    发表于 06-04 07:15

    全球首家王者荣耀IP电竞酒店!洲明光显助力打造数字文娱“潮”空间

    说到最具娱乐性、社交性的现象级游戏,非腾讯《王者荣耀》莫属了。2024年,王者荣耀月活跃用户仍能过亿。——这一国民IP还是“当红炸子鸡”。
    的头像 发表于 05-21 11:38 784次阅读
    全球首家<b class='flag-5'>王者</b><b class='flag-5'>荣耀</b>IP电竞酒店!洲明光显助力打造数字文娱“潮”空间

    Python自动化测试框架及其应用

    Pytest是一个非常成熟的全功能的Python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,功能更强大。
    的头像 发表于 04-03 16:15 619次阅读
    <b class='flag-5'>Python</b><b class='flag-5'>自动</b>化测试框架及其应用

    STM32F4能否实现用重映射功能将dcmi映射到别的io口?

    能否实现用重映射功能将dcmi映射到别的io口
    发表于 03-25 08:07

    教你一招,简化仪器Python编程控制!

    许多行业的工程师都使用自动化来扩展其测试仪器的功能,而大多是选择免费的编程语言——Python来完成。作为适用于自动化的主要编程语言,Python具备许多显著优势
    的头像 发表于 03-15 14:31 2636次阅读
    <b class='flag-5'>教你</b>一招,简化仪器<b class='flag-5'>Python</b>编程控制!