这两天玩了一个微信的小游戏,想到以前的跳一跳可以通过模拟按键和截取屏幕的方式做辅助程序,所以想针对这个小游戏也做个机器人自动玩,虽然结果是失败的,但是也学到了点东西。

1.做这种小游戏机器人的关键点有两个,一个是模拟按键,一个是截取屏幕。模拟按键很简单,直接调用以下命令即可在安卓手机上任意一个坐标点击一次,部分手机记得在开发者选项里开启允许模拟点击

adb shell input tap x y

2.图像识别起初想和跳一跳一样,用adb shell来截图,但是发现这种方式速度太慢了,大概3秒一张图,跳一跳没有时间限制,而我现在玩的游戏有时间限制,所以截图速度要快,快速截图有以下几种

  • 安卓手机内用APP截图,这种方式我觉得是最快的,因为可以直接把图像数据放在内存里,减少了IO,但是这种方式我自己没研究过
  • PC上使用安卓模拟器,模拟器内玩游戏,然后用PC上的API截图,这种方式和第一种速度上不相上下,缺点是部分游戏不支持模拟器
  • 使用局域网同屏APP,然后在PC上截图,这种方式也比较快,但是有一定的延迟,画质越高延迟越大,所以推荐可以自定义画质的同屏APP,我用过爱莫助手和AirDroid,前者画质虽然没后者好,但是延迟低且PC上不用额外安装软件,浏览器上就可以用

3.截取屏幕后,就可以根据游戏规则写算法来识别什么时候需要点击了,简单的游戏可以判断像素。复杂点的嘛。。。我也没研究过,所以不知道

4.至于为什么最后失败了,我觉得有两点

  • adb shell input这种模拟点击方式不可靠,比如发送三次模拟点击,间隔300毫秒,虽然百分之90的情况都是点击了3次,但是依然有几率只会点击2次
  • 对于速度要求高的游戏,同屏截图依然还是慢了

5.类似这种小游戏,还可以找到上报分数的地方拦截修改掉,或者修改游戏代码达到一些变态功能,因为这些小游戏的数据校验一般都在客户端

手机小游戏辅助程序的实现相关推荐

  1. 浅谈游戏辅助程序的制作 【经典】

    0.前言 本文仅限于技术交流,文中所附数据纯属虚构,如有雷同,实在是巧合! 本文简单地探讨了一款游戏辅助程序的分析.制作方法,希望能对那些对此感兴趣的朋友们有些许帮助. 本人小菜鸟一只,水平有限,说得 ...

  2. 一款游戏辅助程序的分析、制作方法

    0.前言 本文仅限于技术交流,文中所附数据纯属虚构,如有雷同,实在是巧合! 本文简单地探讨了一款游戏辅助程序的分析.制作方法,希望能对那些对此感兴趣的朋友们有些许帮助. 本人小菜鸟一只,水平有限,说得 ...

  3. 转 浅谈游戏辅助程序的制作

    标 题: 浅谈游戏辅助程序的制作[原创] 作 者: qINGfENG 时 间: 2006-04-17,21:06 链 接: http://bbs.pediy.com/showthread.php?t= ...

  4. 团队开发--手机小游戏 需求分析

    一.项目名称:手机小游戏 二.设计背景 我们团队认为现在是21世纪,人际关系往往能决定你的人生是一帆风顺还是坎坷不平. 相信大家都有这样的经历,同学或者各种关系聚会的时候,会有一些时间比较尴尬,不知道 ...

  5. 数字华容道java_从零开发HarmonyOS(鸿蒙)手机小游戏——数字华容道

    前言 2月16号HarmonyOS2.0手机开发者Beta版已经发布了,作为"1+8+N"战略的重要入口和生态核心,怎么能少得了手机应用开发呢,今天将由深鸿会深大学习小组(Zzt_ ...

  6. 从零开发HarmonyOS(鸿蒙)手机小游戏——数字华容道

    HarmonyOS(鸿蒙)手机第一个小游戏app--数字华容道 前言 概述 正文 创建项目 实现初始界面布局 实现数字的随机打乱 实现滑动或点击调换数字 实现游戏成功界面 源代码 结语 前言 2月16 ...

  7. 用C语言实现推箱子小游戏基础程序plus

    目录 设计一个简单的推箱子游戏 功能设计要求: 代码实现 数据定义头文件data_def.h 窗口设置头文件WindowsSet.h WindowsSet.cpp 上移函数 矩阵旋转函数 游戏帧 菜单 ...

  8. 用 Node.js 写微信小游戏辅助

    似乎使用 Python 写各种辅助的居多,我们来走一波 JS 流吧! GitHub:weixin-game-helper ? 微信小游戏辅助合集 目前已有的游戏辅助: 包你懂我 大家来找茬腾讯版 头脑 ...

  9. 小游戏“终结者”程序的设计与实现

    08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/de ...

最新文章

  1. json_decode的结果是null
  2. [转载]Guice 1.0 用户指南
  3. 服务器控件的异步请求——UpdatePanel和ScriptManager
  4. spark submit参数及调优
  5. 巴西政府考虑用微软产品替换开源软件
  6. 【面试题总结】2、反转字符串的几种形式
  7. java 的记住用户名和密码,JAVA--高级基础开发Cookie实现记住用户名和密码
  8. matlab的蝶形运算,第五章快速傅里叶变换(蝶形运算).ppt
  9. 简述整车级电子电器架构开发内容
  10. CCF 201903-1 小中大
  11. 注解@NotEmpty、@NotBlank、@NotNull三者的区别及使用范围
  12. 使用Certbot申请ssl证书
  13. java实现word转pdf(功能转载)(亲测验证)
  14. SendCloud从注册到邮件发送使用心得
  15. html5批量修改本地文件名,文件名批量更名技巧;将文件夹名添加到文件名上-批量修改文件名...
  16. 【Vue.JS】Vue.JS 表格内容排序组件,Render函数的使用
  17. 第五章 彩色图像处理
  18. 西门子采用三井化学的UNISTOLE™作为3D打印医用级面罩的涂层剂
  19. CRM客户关系管理系统答辩技术介绍(简答)
  20. STM32实现双通道ADC采集电压电流值

热门文章

  1. c/c++ socket函数详解
  2. 高俪锅 因为一个传说的美丽老板娘 有图有真相 总结筒子们认领合照了
  3. 帝国CMS7.5默认首页模板太难看,如何修改首页模板样式
  4. 软件设计模式:三个类别,23种方法
  5. 我昨晚给1万个CIO和500个企业软件老板讲了堂课
  6. 大白 移远BC95/BC35-G NBIOT模组简介
  7. python输入成绩并且计算平均分
  8. windows10(家庭版)和windows11(家庭版)开启WSL2
  9. 用php创建数据库代码,php创建数据库_PHP MySQL 创建数据库与表示例
  10. 【Unity植物大战僵尸】第二个植物豌豆射手(九)