哈喽大家好呀!
最近新版微信推出了小游戏“跳一跳”
朋友圈陷入了一场混战!
为了能够在排行榜中称霸,
大家都跳到停不下来!
然而身为手残党的我...
只玩到了200多分...
不行!技术宅绝不轻易认输!
既然手速拼不过,那就用技术来称霸朋友圈!
所以我决定
要做一个能让我解放双手并称霸排行榜的
跳一跳神器
————没时间解释了!快上车!————
先放个动图给你们感受下
咳咳~雨果有句名言:
要想战胜它,就先得了解它
所以要在这款游戏中称霸
首先要了解它的游戏原理
游戏规则大家都知道:根据小人和下一个平台之间的距离相应地调整按压屏幕的时间,让小人跳到下一个平台上。
但是距离和按压时间有什么关系呢?经过多次测量发现:距离和按压时间是成正比关系的!而且手机分辨率不同比例系数也不同!
哼哼~那么要做出全自动、高精度的跳一跳神器,就要实现自动测距和自动按压两部分功能。
自动测距的实现
用数据线将手机连接电脑,由电脑端执行事先编写好的程序:先获取手机上的游戏截图,然后用图像识别程序测量出小人和下一平台之间的距离,最后用该距离值乘以一定的比例系数计算出所需的屏幕按压时长。(比例系数是经过多次测试得出的,我的手机分辨率是1920×1080,最终得出的系数是1.4。)
在此感谢 @wangshub 在GitHub上贡献了自动玩跳一跳的 Python 脚本代码,图像识别和测距功能是使用他的部分代码来实现的。
自动按压的实现
电脑端计算好按压时长后将该项数据发送到控制器,控制器根据相应的时长控制舵机的转动,最后由舵机带动安装在上面的“手指”,从而实现自动精确地按压手机屏幕的功能。
硬件部分制作
首先准备一个Arduino开发板作为控制器
Arduino Micro
还需要一个舵机
舵机:用来控制方向的装置,常见于各种遥控玩具
测试一下,让它转动起来
emmmmm,那么问题来了...
怎么固定舵机?
怎么触屏?
hiahiahia机智如我
能在小卖部解决的问题就不用去五金店
(希望三个商家能找我结算一下广告费hehehe...)
将舵机固定在X力滋的盒子上
将舵机的固定翼和X味道的叉子粘在一起
话说X味道的叉子什么时候变得这么骚了?
装到舵机上
将一截火腿肠叉在叉子上,并接上地线,充当手指
(不接地是不能触屏的,请百度"电容触摸屏的原理")
这画面感...
然后...一边吃着火腿肠一边敲代码~
Cheers!
(不好意思这是鸡肉肠)
经过N次调试,搞定!
来吧!开始战斗吧~
过程十分漫长,录个半分钟的视频给你们感受下
结果!!!
分数这么高!会不会没朋友啊
然而...
微信可能认为我开外挂了...
把我3000的记录清除了...
只剩下调试时600分的记录...
请无视第一名...
虽然如此,但我还是称霸了朋友圈...
其实嘛...玩游戏都是图个开心...
刷太高了容易没朋友哈哈哈
脑洞DIY,不定期更新~
我的手机屏幕从此充满火腿的香气...
——END——
温馨提示
本公众号后台接入了聊天机器人
名字叫做“丧仔”
你空虚吗!寂寞吗!冷吗!
找它聊骚就对了!
百科、算数、翻译、找图样样行哦~
更多姿势等你发现~
注意用语哦~
你们说的啥我都能在后台看得到...
祝你玩得开心~
领取专属 10元无门槛券
私享最新 技术干货