10分钟学会python写游戏脚本!Python其实很简单

news/2024/7/19 12:32:18 标签: python, 游戏, adb, 数据分析, 爬虫

前言

最近在玩儿公主连结,之前也玩儿过阴阳师这样的游戏,这样的游戏都会有个初始号这样的东西,或者说是可以肝的东西。

当然,作为一名程序员,肝这种东西完全可以用写代码的方式帮我们自动完成。游戏脚本其实并不高深,最简单的体验方法就是下载一个Airtest了,直接截几个图片,写几层代码,就可以按照自己的逻辑玩儿游戏了。

在这里插入图片描述
当然,本篇文章不是要讲Airtest这个怎么用,而是用原始的python+opencv来实现上面的操作。

这两天我写了一个公主连结刷初始号的程序,也不能算写游戏脚本的老手,这篇文章主要是分享一些基础的技术和使用上的心得吧。

准备工作

首先,我们要完成以下准备。

  • 安卓设备一个:模拟器或者真机都可以。
  • 安装ADB,并添加到系统的PATH里:adb是用来
  • 安装tesseract-ocr,并添加到系统的PATH里:帮助我们实现简单的字符识别
  • 安装python3.7以上的版本

python_20">python库安装

pip install pillow pytesseract opencv-python


除此以外,如果有需要可以安装uiautomator2,这篇文章就不涉及这块知识了。

adb_29">使用adb获取安卓设备

这里我们主要是涉及到单个安卓设备的ADB连接操作,首先我们打开模拟器。

然后我们调用adb devices来获取当前的安卓设备,我这里是一个模拟器。

adbc8d79d27cff81.jpeg#pic_center" alt="在这里插入图片描述" />
接下来可以调用adb shell测试一下是否能进入到安卓设备的shell环境下,确认可以输入exit退出即可。

在这里插入图片描述
如果有的时候进不了shell,可以先调用一下adb kill-server,然后再调用adb devices。

可能常用的ADB Shell命令

接下来是一些ADB的命令操作。通过adb命令,我们可以用python来操作的安卓设备。

屏幕截图

最常见的操作就是截图了,先调用screencap截图放到安卓设备里,然后再把截图下拉到电脑。

def take_screenshot():
    os.system("adb shell screencap -p /data/screenshot.png")
    os.system("adb pull /data/screenshot.png ./tmp.png")

下拉文件

下拉文件就是刚刚那个adb pull了,以公主连结为例,以下代码可以导出账号信息的xml,以后通过xml就可以登录了。

os.system(f"adb pull /data/data/tw.sonet.princessconnect/shared_prefs/tw.sonet.princessconnect.v2.playerprefs.xml ./user_info.xml")

上传文件

有了下拉自然就有上传了,通过adb push即可完成。以公主连结为例,以下代码可以完成账号的切换。

# 切换账号1
os.system("adb push ./user_info1.xml /data/data/tw.sonet.princessconnect/shared_prefs/tw.sonet.princessconnect.v2.playerprefs.xml")

# 切换账号2
os.system("adb push ./user_info2.xml /data/data/tw.sonet.princessconnect/shared_prefs/tw.sonet.princessconnect.v2.playerprefs.xml")

点击屏幕某个位置

def adb_click(center, offset=(0, 0)):
    (x, y) = center
    x += offset[0]
    y += offset[1]
    os.system(f"adb shell input tap {x} {y}")

输入文字

text = "YourPassword"
os.system(f"adb shell input text {text}")

删除字符

有的时候输入框会有输入的缓存,我们需要删除字符。

# 删除10个字符
for i in range(10):
    os.system("adb shell input keyevent 67")

查询当前运行的包名和Activity

通过以下代码,可以查询当前运行的程序的Activity,也可以顺便查包名。

adb shell dumpsys activity activities

在这里插入图片描述
关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

六、Python练习题

检查学习结果。
在这里插入图片描述

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪


http://www.niftyadmin.cn/n/1323473.html

相关文章

java构造函数_Java岗开发3年,crud我做腻了,我要去挑战阿里架构的百万年薪 !...

JAVA简介作为最广泛使用和部署的语言,Java 是 Web 领域的三大核心技术之一。 它由 James Gosling,Patrick Naughton 和 Mike Sheridan 于 1991 年创建。这种高级语言凭借其一流的功能在IT行业中崭露头角,为开发人员提供了光明的未来。JAVA为何…

Python大神80行代码实现“头脑王者”,运营窍诀躺着教你赚钱!

最近感觉微信小程序比较火、头脑王者,周围很多人在玩“跳一跳”和“头脑王者”之类的小游戏。 我对小程序也产生了浓厚的兴趣。一开始看到官方的小程序的介绍,也看了小程序的部分开发文档,本能以为微信小程序不过是一个浏览器框架&#xff0…

微软电脑适合什么人用_请教各位剪辑大佬,什么电脑适合剪辑?

我来啦!!!这可能是知乎上最全的剪辑电脑选择攻略!作为一名B站小小的阿婆主,本来我觉得选择剪辑电脑很简单呀,可是看到前面的各位大哥,谈到的基本都是电脑配置的问题233...这对于从来没有做过剪辑…

今天兼职收入1200,会写软件也算有个铁饭碗吧

今天继续接开发订单,这个客户是我的老客户了!所以报价是按最低报的,功能要求是抓取网站历史快照(从第三方平台抓取)并分类的功能 虽然和客户说开发周期是2-4天,但这依然属于爬虫类的软件,用自己…

多x多y的origin图_素雅、便携、多场景,松下纳诺怡X黑科技除菌净味产品使用简评...

松下吹风机松下的纳诺怡技术一直被誉为“黑科技”,楼主从来也说不清它的真正原理。但是从使用多年的吹风机体验来说,纳诺怡技术确实名不虚传 ▲松下纳诺怡技术家里同样采用松下纳诺怡技术的,还有搭载松下压缩机的除湿机 ▲正是因为这些年对松…

python入门,手把手教你写爬虫,一文了解简单的数据抓取

最近经常有人问我,明明看着教程写个爬虫很简单,但是自己上手的时候就麻爪了。。。那么今天就给刚开始学习爬虫的同学,分享一下怎么一步一步写爬虫,直至抓到数据的过程。 准备工具 首先是工具的准备:python3.6、pychar…

bootstrap3 表单构建器_Knex - 灵活轻便的 Node.js SQL 查询构建器

不管你承认与否,Node.js 都是一个后端语言平台。那么,操作数据库,这个后端最为常用的代码逻辑之一,Node.js 自然也需要拥有。我们当然也可以使用数据库驱动直接执行 SQL 语句,但我们往往需要更为高级 SQL 构建方式。Kn…