python-阴阳师脚本

大家好。

近日来,一款名为阴阳师的游戏引诱了我,使我沉迷于网络游戏,日渐消瘦的我,荒废了时日,忘记了社会主义接班人的使命,忘记了构建人类命运共同体的伟大抱负。

为了挽救我美好的青春,为了挽救我的人生,为了未来的爱与梦想,为了从游戏的不真实世界中走出来,重新回到光明社会中去。

我做了一个伟大的决定。

我写了个脚本玩阴阳师。

效果是这样的:

回忆当初,寂寞的我,在电脑上安装了网易的MUMU模拟器,想着学习科学知识的。没想到,在无知与茫然中,安装了阴阳师的APK。

为了摆脱网络游戏的诱惑,我做了持之以恒的抗争。

道路十分曲折。如神农尝百草,尝试了种种治疗手段。

一、pyautogui

这个库可以模拟人工输入和鼠标操作。经过一番资料搜索,用这个库实现自动操作阴阳师的大概思路是这样的:

将模拟器的窗口位置固定,截屏整个游戏界面,然后结合图像处理库,找到对应按钮的像素值范围从而确定鼠标点击的位置,进行鼠标操作。

代码:

实际操作的时候,关键点在于按钮的像素值范围的设置。使用微信截图然后找到像素值的RGB,然后估摸着确定范围。所以,结果就是,鼠标会乱点击,点击不到按钮。

这个方案,唉。

二、uiautomator

经过我深思熟虑,发现控制游戏的最关键地方在于找到鼠标点击的位置,也就是元素定位。

所以又经过一番资料查找,发现android的SDK里的uiautomatorviewer工具可以找到元素定位,利用python的uiautomator库就可以直接点击元素。

但是,当用uiautomatorview工具定位按钮元素时:

只找到一个整个游戏界面的view。非常遗憾。

这个方案,唉唉。

三、ATX

经过多次骚扰度娘,终于让我找到了。

网易的游戏测试模块-ATX。具备图片识别的功能,封装了uiautomator库,简单易用,药到病除。只需要把需要点击的按钮截图下来,再调用相关方法即可。

截取的按钮图片:

粗略的代码是这样的:

大功告成。我挽救了我美好的青春,挽救了我的人生,为了未来的爱与梦想,从游戏的不真实世界中走出来,重新回到光明社会中去,实现构建人类命运共同体的抱负的时刻来临了。

然而,不仅要图像识别,又要开模拟器玩游戏,电脑卡得要死。

还不如,痛苦玩游戏呢。

情不自禁地,我拿起手机。

沉迷游戏,不能自拔。

2017.12.8

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员宝库

我只是一名平庸的开发者

我就不是这些闪耀的新星,我只是一名平庸的开发者。如果你也不是天才玩家,那么本文将指导你如何在这个行业中生存下去。

44810
来自专栏玄魂工作室

只有程序员才看懂的...

离职程序员之项目交接 动了一下看似很普通的一句代码 修复完bug,迎接周末的我 刚修复了Bug,我给老板演示的时候 正则表达式返回了了预期结果的时候 新手程序员...

3318
来自专栏腾讯移动品质中心TMQ的专栏

腾讯TMQ在线沙龙回顾|C++单元测试

冒烟测试 活动时间:2017年7月27日 QQ群视频交流 活动介绍:TMQ在线沙龙第二十五期分享 本次分享的主题是:C++单元测试 共有217位测试小伙伴参加活...

1945
来自专栏求索之路

从零开始写一个抖音App——开始一、写在前面二、项目概述三、尾巴

641
来自专栏企鹅号快讯

初级程序员别再傻傻的检查代码两小时了

BUG这个词在程序员中用到的最多,编码每天敲那么多,难免会出现错误。假如你写了一篇几万字的论文,你要检查里面的论据和错别字的时候,你需要花费很多的时间,更别说是...

1808
来自专栏web前端教室

逆向的前端学习思路

一般学习前端开发,基本上都是要从JS,HTML,CSS开始学习。这是传统的WEB前端开发的入门学习路径。对于大多数人都比较适用,没有什么惊喜,也不会有什么速成。...

1935
来自专栏老九学堂

如何编写没有bug的代码?

我记不了很多东西。像标准库中的函数和方法、参数位置、软件包名称,样板代码等等,都在我脑容量之外。

511
来自专栏ionic3+

【Go回忆】Go,小众型的开发语言么?但我建议你学一下

当你掌握了一门基本的看家技术,如java、C#、php,swift或者js等语言及相关配套技术后,当你有业余时间时,我觉得可以结合自身的兴趣和技术背景,来选择学...

693
来自专栏菩提树下的杨过

ROR学习笔记(2):Asp.Net开发者看ROR

ROR集成了诸多"先进"的理念,比如mvc,模板替换,orm,实体验证,ajax,数据库迁移,session的多种保存机制...等等,也许在今天看来,这些东西都...

1668
来自专栏web前端教室

【周总结】0827前端零基础班本周总结(08.27-08.31)

每一期的学生情况都是不同的,因为是从完全的零基础开始讲起,面向的是完全的前端零基础学生。所以第一周基本上进度都比较慢,主要是通过课后作业和课程直播时的即时反馈来...

563

扫码关注云+社区