写在前面
17年年底Wechat出了这个跳一跳的小游戏,今年2月份的时候简单地玩了一下,发现被游戏虐了(手太残了只能跳20多)。
今天刚好有点空,于是就花了一个下午的时间写了一个跳一跳的c++辅助。
由于本OIER既不会Python,也不会安卓的USB调试,更不会单片机,故写了一一个操作安卓模拟器的辅助。
先放下效果:(只是先截个图而已,截止至目前跳了2150次,运行1小时55分钟)【未完待续】
据之前的跳一跳大赛的结果,尽管人类的第一为1.2W分,但仍然被本辅助轻松碾在地上。
--------------------------------------------------------------------------------我是分割线-----------------------------------------------------------------------------------------------
如何完成一次跳跃
完成一次跳跃,你需要得到棋子的位置和方块的位置。进而计算出两者之间的距离,随后跳跃相应的距离。
为了能够实现准确地识别棋子位置及方块位置,我们要先对界面做一些处理。
显然,我们要把背景和图形阴影给过滤掉。
经过多次抓屏分析,我们得到了跳一跳背景和阴影的一些特征:
1,对于同行不同列,阴影部分的RGB数据完全相同,背景部分的RGB数据也完全相同,且阴影的RGB数据=背景的RGB数据/k (k约等于1.4356)
2,杜宇不同行的同列,背景部分的RGB数据可能不同,且对于全部行,$\Delta R,\ \Delta G,\ \Delta B≤50$。
我们基于这两个性质,对游戏界面进行背景和阴影过滤。
如图所示,过滤前与过滤后。
【未完待续】