PS:语言只是载体。思维逻辑才是王道

  前天看见了个python的脚本。于是装python。配置环境变量。装pip。折腾了一上午,最终装逼失败。

于是进入博客园,顶部有篇文章吸引了我 .NET开发一个微信跳一跳辅助程序。于是download下来测试一把。

  

  不过博主的是半自动外挂。需要左键点击小人,右键点击需要跳的点。点了几十次之后不耐烦了。

  那又怎样?又不开车?又不会装逼?食屎啦你!

  手动玩到了2018。。。

  

 发现

    原来还可以通过C#连接安卓发送shell命令进行操控。新姿势!新姿势!

    通过42楼发现,从图片中搜索小人。咦?这怎么实现呢?

    百度百度百度。。好吧很少用google。。可能我是菜鸟程序员吧

    喜出望外。

    “图片像素遍历”

    

 实现思路

    一、找到小人坐标

    二、找到要跳的坐标

    哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈。。。。。没毛病

  

   如何找到小人坐标?

      --  小人颜色固定,取底部rgb扫描像素对比

       --  没毛病

    代码:

    

    效果:

    

    完美?完美!!

    弱水三千只取一瓢。我要最底下那个!!

    

    到此,小人底部坐标取到。是不是很简单粗暴??

   如何找到要跳的坐标?

        

      

      -- 取到要跳的顶点和最右边。取顶点的 x 和右边点的 y 作为要跳的点

      -- 怎么取顶点?

      -- 从上到下,从左到右,与背景对比,第一个碰到的颜色不一样的为顶点

      -- 不行 背景是渐变的

      -- 噗。。。  那把r g b 设置相差10 以上为准吧

        if (bpixel.R - pixel.R > 10 || bpixel.R - pixel.R < -10 || bpixel.G - pixel.G > 10 || bpixel.G - pixel.G < -10 || bpixel.B - pixel.B > 10 || bpixel.B - pixel.B < -10)

      -- 第一点是右上角那个 

      -- 像素遍历从高度*30%的坐标点开始

      -- 行是行,有时候与背景色相近识别不到

      -- 把 bpixel 设置成当前像素的 y-1 位置的像素  bpixel = MyBitmap.GetPixel(x, y - 1);

      -- 嗯 上下对比,背景渐变差异不大,第一个差异大的点就是要跳的顶部,完美

      -- 怎么取右边点呢?

      -- 遍历到顶部以后像素的时候与顶部颜色对比,颜色一致设置红色,取 x 最大的为最右边

        

        

      -- 成功啦  有时候会有bug,多个块颜色一致的时候,最右边不是最后要跳的块

        

      --  对比右坐标的时候,如果大于150像素 就放弃。

        

      --  顶部也会有bug,有时候小人头超过要跳的小方块,导致计算顶部位置会是小人头

      --  那就在小人坐标 x 左右30不计入顶部识别

        

      --  哇塞  !好像没有什么bug了 ,再加上定时器,或者死循环,或者递归就可以实现自动跳转啦。一会儿就两千多分啦!

        

      --   其实取到顶点之后,扫描 y 值相等 颜色一样的。然后取中间值,会更精准

        

      --  艹 ! 刚才想啥去了?

      --  慢慢试嘛 。其实别人还有更好的算法。颜色相似的,点集合取平均坐标值, 没经历过,总要经历笨方法。起码源于自己的思维

    

      祝大家新年快乐

      2018  888 !!!

C#又能出来装个B了。一步一步微信跳一跳自动外挂的更多相关文章

  1. python 微信跳一跳和源码解读

    刚好周末,想研究一下前阵子很火的微信跳一跳 下面进入正文. 本文适用对象为WIN10系统,安卓用户.目的在于让丝毫没有接触过Python的小伙伴都能成功运行,如果你恰好是这样的对象,那么跟着我开始操作 ...

  2. Three.js - 走进3D的奇妙世界

    本文将通过Three.js的介绍及示例带我们走进3D的奇妙世界. 文章来源:宜信技术学院 & 宜信支付结算团队技术分享第6期-支付结算部支付研发团队前端研发高级工程师-刘琳<three. ...

  3. 一行能装逼的JavaScript代码

    一行能装逼的JavaScript代码 2016-06-28 野狗 一行神奇的JS代码,当时我就震 惊了,这不就是传说中的ZB神奇么… … 哈哈. 写本篇文章的缘由是之前看到了一段js代码,如下: (! ...

  4. 教你如何使用U盘装系统

    首先,你必须有一个4G以上U菜,然后,U光盘制作软件(这里我们使用url=KRVS0FUdaNAMKPUXUxjEijxBMalUjaJHph-tL-x4gXGSwVNUW3fj6RfuZtrMg1Y ...

  5. 这可能是史上最全的windows10装ubuntu双系统教程

    一. 先搞清楚自己电脑的类型: A  MBR传统bios+单硬盘 B  MBR传统bios+双硬盘(SSD固态硬盘+机械硬盘) C  UEFI新式bios+单硬盘 D  UEFI新式bios+双硬盘( ...

  6. redis---安装和开启和关闭

    转redis---安装和开启和关闭 http://blog.csdn.net/xing_____/article/details/38457463 系统:centos6.4 redis下载:http: ...

  7. 系统出现bootmgr is missing解决方式,戴尔dellserver装系统须要特别注意的问题

    系统出现bootmgr is missing解决方式,戴尔dellserver装系统须要特别注意的问题 欢迎关注http://blog.csdn.net/aaa123524457 转载请注明出处: h ...

  8. apple iMac一体机 装双系统 实战! (Apple +Win 7 64bit)Good

    原帖:http://group.zol.com.cn/1/641_485.html 需要准备工具:一个8GU盘X1 (或Win7 安装版系统盘) Windows 7 pro 64bit 位 ISO 文 ...

  9. vmware 装 puppy

    说做就做了,但是开始怎么试都没装成功,后来在网上查了些资料,再结合自己的实践,终于成功了.下面我就把如何让Puppy Linux安装到VMware 硬盘上一步一步奉献给大家. 一.准备 1.1 安装好 ...

随机推荐

  1. 最强离线安装MySQL_8.0.2方法

    最强离线安装MySQL_8.0.2方法,一次就能安装成功. 按照此方式,离线安装MySQL五分钟都花不到,节省了大量的宝贵时间. 前戏,假设你已经从MySQL官网中获取了下面这个压缩包: 解压之后变成 ...

  2. nginx的基础应用

    nginx的基础应用 一.简介 今天我们将介绍一些nginx的简单应用,启动.停止nginx,重载nginx的配置,nginx配置文件的格式,如何配置nginx服务静态资源,如何配置nginx作为反向 ...

  3. zzuli 1815: easy problem 打表

    1815: easy problem Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 243  Solved: 108 SubmitStatusWeb ...

  4. javascript算法题判断输入年份是否是闰年

    用户输入一个年份,判断这个年是否是闰年.判断闰年条件:① 非整百年数除以4,无余为闰,有余不闰:② 整百年数除以400,无余为闰,有余不闰.比如:2000年,整百数年,就要用②公式,除以400,无余数 ...

  5. Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进

    一.简单回顾ConcurrentHashMap在jdk1.7中的设计 先简单看下ConcurrentHashMap类在jdk1.7中的设计,其基本结构如图所示: 每一个segment都是一个HashE ...

  6. Redis的简单使用和介绍

    1.什么是NoSQL     NoSQL   =   Not Only  SQL     非关系型的数据库      2. 为什么需要NoSQL     High performance  高并发读写 ...

  7. 【Android源码解析】View.post()到底干了啥

    emmm,大伙都知道,子线程是不能进行 UI 操作的,或者很多场景下,一些操作需要延迟执行,这些都可以通过 Handler 来解决.但说实话,实在是太懒了,总感觉写 Handler 太麻烦了,一不小心 ...

  8. Linux用户管理的复习时间

    所谓三天不练手生,你还记得关于Linux用户管理的所有知识吗?现在就来跟我一起复习一下吧! 1.常用配置文件 用户信息文件: /etc/password 密码文件: /etc/shadow 用户组文件 ...

  9. 通过反射实现Microsoft Visual Studio International Pack 1.0 SR1里面的两个类

    这两天打算实现拼音和简繁转换的方法, 发现Microsoft Visual Studio International Pack 1.0 SR1 提供了 .    下载地址 但是基于某些原因, 一来下载 ...

  10. QScintilla 编译

    直接上英文了,不翻译了.看不懂的可以留言哈. ———————————————————————————————————————— Installation As supplied QScintilla ...