『浅塘』游戏
苹果 App Store 有个很好玩的益智游戏,叫『浅塘』。
画风优美,玩起来也比较考验智力。
玩法有点像华容道,要想办法移开其他的长条形木块,最后让红色的木块出去就算过关。
一开始玩了100多关,很轻松就过去了,感觉自己挺厉害的。于是想看看再玩多少关才能通关。结果发现……
这游戏丧心病狂的有 1098 关!!!
写算法解谜题
想了想这个游戏作者肯定不是人工去设置的关卡,应该是用程序自动生成的关卡。
我们让红色木块脱困其实也是人脑在做宽度优先遍历,那么其实我可以写一个宽搜,寻找最快『脱困』的方案。
但是对于每个关卡的输入数据怎么输入呢?因为对图像处理不熟,而且最近在研究 iOS 开发,学了些 swift。想了想干脆写个 iOS app,用手指把谜题画出来,然后让程序自动算解法,再把解法动态显示出来。
成品
花了一整天用 swift 写宽搜,简直累死,以前用 c 写算法很顺畅,这次用新学的语言踩了不少坑。
好在终于写完了,源码过段时间有空就传 github
谜题:
例如下面这个视频,智商不够用,127关过不去啦!
解题:
开始把谜题画出来,画完点『完成』,最优解法瞬间就计算出来了。
是不是很有意思?学了多年深藏不露的宽搜终于有一天也派上用场了,哇哈哈哈哈。