通过九宫格拼图穷举算法抽小米手环4购买资格

前言

6月18日小米手环4nfc版首卖,经过一波激烈的抢夺之后,我自然是...没有抢到o(╥﹏╥)o。抢购之后上某东某宝某鱼发现都有现货,但是大多数都加价70-100不等,这不是黄牛吗?不忍被黄牛赚钱的我在qq群得知小米美图手机公众号中有九宫格拼图抽小米手环4nfc购买资格的活动,并且有群友已经抽到购买资格。

于是我打开公众号中的九宫格拼图胡乱地拼了起来,拼了两三分钟才拼成功,抽奖,没中...经过几次尝试后,发现这种随机拼图法只能靠运气才能拼成功,于是猜想九宫格拼图是否有技巧。打开百度搜索,找到了一篇文章:九宫格拼图怎么拼 如何玩转九宫格拼图游戏,理解了其中的技巧之后,花了一天时间写程序,最终的效果图如下(gif图较大,加载缓慢):
九宫格拼图
经过一百多次的抽奖,我终于...还是没有抽到,只能写篇文章在此纪念一下。

穷举流程

原图:
原图
位置描述:
位置描述
随机打乱后的图片:
随机打乱后的图片

总体流程

根据九宫格技巧中提供的方法,需要按顺序将图中1、2、3、4和7的图片对应到相应的位置,剩下的三种图片可以经过顺时针或者逆时针旋转完成拼图。下面给出每张图片的复原方法:

图片1

很简单,不做描述。

图片2

很简单,不做描述。

图片3

如果图片3正好在位置3时,便不需要进行移动,但是如果图片3不在位置3时,需要将九宫格下面六张图按顺时针或者逆时针进行旋转,让图片3移动到位置6上:
图片3复原
然后经过下面移动过程将图片3移动到位置3上:
图片3复原

图片4

图片4可以对九宫格下面6个格子进行旋转将图片4移动到位置4上。

图片7

和图片3一样,如果图片7正好在位置7时,便不需要进行移动,但是如果图片7不在位置7时,需要将九宫格位置5、6、8和9按顺时针或者逆时针进行旋转,让图片7移动到位置8上:
图片7复原
然后经过下面移动过程将图片7移动到位置7上:
图片7复原

剩余三张图

最后三张可以将九宫格位置5、6、8和9按顺时针或者逆时针进行旋转来完成拼图:
最后三张复原

流程图

图中数字代表的是点击的位置(不会画流程图,感觉怪怪的):
九宫格穷举算法流程图

图片识别

图片识别使用的是大漠插件,采用图片识别后,程序可以自动识别图片在九宫格的位置,然后自动进行复原操作。大漠插件具体使用方法可以去大漠插件官网进行查看:大漠插件官网

总结

由于不会九宫格拼图高级算法,只能用穷举算法来实现自动拼图,所以程序完成拼图的时间并不是特别短,平均每次耗时十几秒,但是这样比自己手动拼图两分多钟快得多,省时又省力,最快一次的速度是9秒,进入了排行榜的50名左右:
排行榜
可惜的是最终没有抽到购买资格,希望后天(6月25号)能抢到吧。

最后修改:2019 年 06 月 23 日 01 : 55 PM
如果觉得我的文章对你有用,请随意赞赏

2 条评论

  1. 小豪

    没有软件吗。

    1. BWmelon
      @小豪

      因为模拟器不能用微信小程序,所以用的是电脑远程控制手机,但是手机分辨率不一样,活动也快结束了,就没有做分辨率适配 源码发在精易论坛了 需要的话可以参考一下 https://bbs.125.la/forum.php?mod=viewthread&tid=14397875

发表评论