当java程序员遇到微信跳一跳会擦出什么火花?(详细教程)

“喏,我已经尽力了……”

12月28日,微信宣布,小程序增加了新的类目:小游戏,同时上线小游戏「跳一跳」,瞬间跳一跳成了全民游戏,玩得厉害的撑死不过200多分,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能。

“跳一跳”这个东西还是今天刚接触到的,看到了python群中有人再问“微信跳一跳的外挂有人写了没”,“早就有了”,“github”,“等着出个更详细的教程教程没看懂,主要没有用过adb”。

不过没关系,你们跳的再好,在毫无心理波动的程序面前都是渣渣。

刚刚会python的小白想玩怎么办?

下有详细的教程,哈哈,包教会不收任何的费用。

感受一下被支配的恐惧吧:

使用工具

1.python3.6

2.adb

3.安卓手机(版本4.4+)

使用原理

# === 思路 ===

# 核心:每次落稳之后截图,根据截图算出棋子的坐标和下一个块顶面的中点坐标,

# 根据两个点的距离乘以一个时间系数获得长按的时间

# 识别棋子:靠棋子的颜色来识别位置,通过截图发现最下面一行大概是一条直线,就从上往下一行一行遍历,

# 比较颜色(颜色用了一个区间来比较)找到最下面的那一行的所有点,然后求个中点,

# 求好之后再让 Y 轴坐标减小棋子底盘的一半高度从而得到中心点的坐标

# 识别棋盘:靠底色和方块的色差来做,从分数之下的位置开始,一行一行扫描,由于圆形的块最顶上是一条线,

# 方形的上面大概是一个点,所以就用类似识别棋子的做法多识别了几个点求中点,

# 这时候得到了块中点的 X 轴坐标,这时候假设现在棋子在当前块的中心,

# 根据一个通过截图获取的固定的角度来推出中点的 Y 坐标

# 最后:根据两点的坐标算距离乘以系数来获取长按时间(似乎可以直接用 X 轴距离)

ADB

首先碰到的就是什么是adb。Android Debug Bridge

Android操作系统与桌面电脑间沟通的一个命令列工具。

可以在电脑上通过命令达到操作手机的效果。

下载

在许多Android用户多次呼吁之后,Google终于将ADB和Fastboot作为单独的文件提供给用户下载。以前这些文件只包含在大尺寸的Android SDK或Android Studio当中提供给用户,现在这种变化意味着它们现在比以往更快,更容易执行和侧载。

这样就免去了下载一个600M的Android SDK,这也是坑了我。

1.下载之后将其路径添加到环境变量中去。

2.手机打开开发者,USb调试,用数据线连接到电脑上,如果手机界面显示USB授权,请点击确认。

3.在cmd输入

就可以使用了,本次使用的命令和常用的几个命令

本次使用到的命令,先了解这写就可以应对

adb start-server 开启进程

adb decives 找到设备

adb shell screencao -p /sdcard/i.png 对手机进行截屏保存到sdcard的目录下面。

adb pull /sdcard/i.png . 将sdcard目录下的i.png传送到当前目录下面

adb pull /adcard/i.png D://

注意这些命令在adb下 而不是在shell下面。

adb shell screencap -p /sdcard/1.png adb pull /sdcard/1.png .

用adb工具点击屏幕蓄力一跳。

adb shell input swipe x y x y time

遇到的问题

最开始一直没有检测到手机。然后用360助手排查问题。找到开发者。就是连不上。最可气的就是硬件的问题吧。后来换了一个数据线。解决

端口被360手机助手占用。

只要在进程中退掉360 手机助手

使用安卓模拟器上面的微信的版本不支持(可能是我忘了更新了吧!)。暂时还是用到了真机上的微信。找来多年不用的安卓机。然后一顿root。

玩了好大一会 ,一个一个测试命令,当玩到

adb shell input swipe x y x y time

这条命令的时候延伸

adb shell input(Android模拟输入),input可以用来模拟各种输入设备的输入操作。

D:>adb shell inputusage: input ... input text input keyevent input [touchscreen|touchpad|touchnavigation] tap input [touchscreen|touchpad|touchnavigation] swipe [duration(ms)] input trackball press input trackball roll

1. keyevent指的是android对应的keycode,比如home键的keycode=3,back键的keycode=4.

具体请查阅 android keycode详解http://blog.csdn.net/huiguixian/article/details/8550170

然后使用的话比较简单,比如想模拟home按键:

adb shell input keyevent 3

请查阅上述文章,根据具体keycode编辑即可。

不仅有滑动的操作,还有其他的键的操作。

adb shell input keyevent 3 home键返回adb shell input keyevent 4 返回键

2. 关于tap的话,他模拟的是touch屏幕的事件,只需给出x、y坐标即可。

此x、y坐标对应的是真实的屏幕分辨率,所以要根据具体手机具体看,比如你想点击屏幕(x, y) = (250, 250)位置:

adb shell input tap 250 250

3. 关于swipe同tap是一样的,只是他是模拟滑动的事件,给出起点和终点的坐标即可。例如从屏幕(250, 250), 到屏幕(300, 300)即

adb shell input swipe 250 250 300 300 //滑动 adb shell input swipe 100 100 200 200 300 //从 100 100 经历300毫秒滑动到 200 200 //长按 adb shell input swipe 100 100 100 100 1000 //在 100 100 位置长按 1000毫秒

特别注意下 swipe后面跟的有时间的参数[duration(ms)],这个与手机的版本的问题有关。

input命令是用来向设备发送模拟操作的命令:

因为版本不同,input命令也有所不同

以下为Android 4.0的input命令:

usage:input text input keyevent input tap input swipe

明显两个版本的input命令是有差异的,也就是说在版本是4.4以下的情况下。是不能用swipe后面跟时间的。在使用的时候一定要记得查询清楚所使用的Android版本!

(我拿到手机后就root了,然后一看版本是4.3的,拿着4.3版本的手机心中飞过***,好的一点是还有一个手机,就升级一下版本,这样换手机在接着搞。其他就不会出现什么错误了)

小结

adb在这次所起到的作用是什么?

1.简单来说截取跳一跳中的图片(用python分析计算)

2.精确执行命令,包括按压的时间,按压的间隔(python通过调用cmd能做到)

如果还有什么不懂的可以加群,在这里给大家提供一个java交流学习的地方,java架构群:680130298

1)具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加群。

2)在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加群。

3)如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的可以加群。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容