我记得我说过,放假对于我来说,最大的快感在于不用上班。
很多人说,我的工作已然如此清闲,为何却对上班这件事情如此厌倦?
答案很简单,没有成就感。
在这三年多中我尝试过很多次,努力做一些事情让自己尽量获得些成就感,从而给予自己一些些动力,促使自己能熬得下去。
毫无疑问,每次都失败了。
于是,工作对我而言,可能对这个单位里的很多人而言,只是一个获取房贷的方式。
哪怕在毫无优势的情况下,凭借PPT和领导圆场逆袭获得了中级职称资格,哪怕今年在经济上也有不小的补足。
可是,成就感这件事情真的很重要。
而我,会继续尝试。
因为,我发现获得成就感并非难事。
至少,我在24小时内就获取了不小的成就感。
你以为这又是一篇心灵鸡汤么,错!
========这是一篇科普文章=========
起因:微信跳一跳小游戏。
当这个小游戏上线的时候,我第一次玩了之后就在想这个游戏的实现原理是什么?
我对游戏本身,并没有太大的依赖性。
比如,我家里有一个玩了一年多阴阳师还依旧乐此不疲的老婆,而当年是我先玩的,而我却只玩了两个月。
再比如,我只玩了半个月的王者荣耀,连5个英雄都没凑齐,打排位的资格都没有。
关于游戏,我必须承认我没啥天赋。
但这个小游戏勾起了我的兴趣,只不过是另外一个角度。
首先,我必须承认我还处在Python学习的入门阶段。
其次,我不是很在意这件事情带来的结果。
最重要的是,在一次次失败中寻求解决办法的成长过程,提高了对自身的期待。
看完了这篇文章我深刻认识到,我拥有所有的硬件和软件,所以,为何不试试呢?
简单的来说下我对这个“游戏外挂”的粗糙理解。
使用真机调试。
对当前游戏界面截图,利用python的matplotlib库获取截图,放在坐标系中。
计算起始点和目标点(其实是两个像素点)在坐标系中的距离,通过多次测试按压时间和起跳距离之间的系数后,即可计算每次不同距离对应不同按压时间。
自动触发小人起跳,即按压屏幕。
利用颜色识别小人,自动玩游戏。
=======准备工作===========
硬件:MacBook Pro、Samsung S8+、iPhone6
软件:Python3、PyCharm、ADB工具、WebDriverAgent、Xcode
=======测试结果===========
三星S8+
打开开发者选项的USB调试
切换到微信跳一跳界面
运行py文件,弹出截图,手动点击起点和目标点位置,自动起跳。
自动玩游戏还在测试,应该是参数没设置好。
iPhone6
iOS真机测试需要安装WebDriverAgentRunner
运行该程序,手机切换到跳一跳界面
运行py文件,弹出截图,手动点击起点和目标点位置,自动起跳。
不要太过分,听说微信对异常高分清零。
最后一句是对我自己说的。
========遇到的问题=========
安卓手机的权限确实够开放,下载了ADB工具就可以运行了。
iOS系统非常麻烦,需要用Xcode编译运行,这期间遇到了国外服务器连接不顺畅无法下载安装程序,这一点只能看运气了。另外WebDriverAgent编译过程中会遇到很多很多问题,各种百度各种解决不了。
个人签名证书出现问题,弹出codesign索要登录密码的对话框,此时只能重置登录密码。
=========测试视频==========
=========总结==============
花了两天时间做一个别人已经做过而自己仍然需要花费很大精力去做的一件事,挺有成就感的。
虽然源代码和实现流程都是舶来品,但是中间遇到很多问题,都没有放弃,哪怕最终剥夺了对这个游戏的娱乐快感。
对于一个Mac小白来说,对于Xcode、钥匙串、证书签名等一窍不通,但是可以通过百度解决其中的一部分问题。很多东西不去尝试,拿着一万多的苹果本也只能看视频了。
对于Python,学以致用。依然还在入门边缘,继续努力。
2017年的小尾巴,过得和往年都不一样,挺有意思。
最后,还是祝大家2018年都好吧!
May we all be lucky dogs!
领取专属 10元无门槛券
私享最新 技术干货