2017年12月29号,微信更新了6.6.1版本,更新之后多出了一个名叫“跳一跳”的游戏小程序,只要在微信聊天界面下拉就能看到这个小程序。
“跳一跳”一出来就火了,操作简单、易上手,还有隐藏的彩蛋在游戏中不定时出现,趣味性十足,玩家只需要控制好手指触摸手机屏幕的时间,就可以指挥游戏的小人在各种方块中跳跃。
玩法简单但是想得高分却不容易,手指按的时间需要准确的掌握好,按的时间短了跳不过去,按的时间长了小人会飞出屏幕外面,好不容易跳到60分,一个手滑摔死了……想摔手机!
我当时眼睁睁的看着朋友圈的高手一个个两、三百分的得分,稳居排行榜榜首,羡慕嫉妒恨!再看看自己……25分……
我真想掐死自己的手!
咋办?
既然手玩不过别人,脑子咱可不能输!
跳一跳考验的是玩家对于距离和触屏时间的控制,距离和触屏时间成正比,距离的大小决定了触屏时间的长短,用个公式表达出来:
距离 = 时间 x 精度
这个精度是最关键的存在,可以理解为一个系数,它直接决定了小人的下一跳落点。
距离,两个方块之间的距离,两点一线。
算出这个距离需要用一把直尺……
没错,简单粗暴的放到手机屏幕上量就是了!
时间,触摸屏幕的时间,怎么算?
掐秒表?
没错!就是掐表!
计算时间从小人起跳一瞬间开始,落到下一个方块之后停止计时。
这一步难度相对较大,因为我要一边控制小人起跳,一边计时,所以只得请来一个小伙伴帮忙,一个人起跳,一个人负责计时,如此反复,只为了用更多的数据来求平均值,减少误差,计算出更加精准的精度。
既然精度算出来了,跳一跳的时候我就可以量出两个方块之间的距离,通过公式计算出正确的触屏时间,保证小人每次都落在方块上?
理论上是可行的,但是手指触屏的时间要怎么控制呢?
因为算出来的精度系数精确到了小数点后两位,触屏时间往往都是毫秒,要通过我的手指来控制如此细微的时间显然不可能。
那怎么办呢?
我把这个难题交给程序代码解决。
“adb shell input swipe 100 100 100 100 1000”
这条是基于安卓系统底层的Linux命令,用来模拟触屏操作,它可以将触屏时间
精确的控制在毫秒之间,避免人工操作的失误。
“adb shell /system/bin/screencap -p /sdcard/screen.png”
截屏命令,将手机当前画面命名为“screen.png”并保存到SD卡根目录。
“adb pull /sdcard/screen.png d:\PIC\”
将SD卡根目录的截屏图片传送到电脑D盘下的PIC文件夹,方便调用。
有了这3条ADB命令,想要达到跳一跳高分段位已经不在话下了,剩下的数值计算我把它交给程序。
计算两点之间的距离,只需要知道这两个点的坐标就行了,然后利用勾股定理,得出两个点之间的距离。
如何确定两个点的坐标呢?
我还是交给程序解决,我将手机截屏传送到电脑后,再由程序的图片框组件调用,图片框组件通过识别当前鼠标左右键点击事件来获取当前的位置坐标。
起点坐标、落点坐标都有了,再进行两点之间距离计算,得出距离之后再根据精度系数进行触屏时间的计算,最后模拟触屏点击。
过程看似复杂,其实从获取手机屏幕到完成小人的跳跃,整个过程不过2秒钟而已,这样,我就实现了跳一跳的“科学式”辅助计算!
晒一下我的NO.1
温馨提示:理论上可以无限跳下去,但是微信可能有检测刷分的机制,玩的不要太贪心,朋友圈第一、第二就可以了,玩命刷到几千分是没必要的.
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved