逆九宫格:先达成三个一线者负
到这里,我编写的 AI 就摆脱了特别直觉的 if-else 或者广度优先搜索规则,进入了一个发挥其强大计算力的时代。假如把棋盘扩大几倍,胜利条件相应放大,人类就很难战胜电脑了。
第十四周:数字推盘游戏(n-Puzzle) 
一开始的游戏是15个方格,数字错乱了,需要你来把它们移动回正确的位置。有一种改进型就是拼图,首先你要找出图片的正确顺序,然后还要推回正确位置。
游戏本身的规则不难,但要做一个自动解 Puzzle 的 AI 就有点意思了,根据反复试玩观察,一个盘面可以分为几个区域,各自有固定解法:
第二行以下第一列右侧的的
第二行以下最左边一列的
第一行的
第二行的
最末阶段左上角的4个
大家可以观察动画里面解开的过程,研究一下在这些区域我让电脑怎么动作的……
一个个模块分别编写和测试,在内部再分情况讨论,真是件体力活!但只要测试无误,无论这个 puzzle 扩展到多大,解开它也就是时间问题。以后谁再拿这种东西为难你,只要把题目输入进去,就能看着电脑瞬间自动解开并且给你一个操作顺序了。

特别声明:以上文章内容仅代表作者本人观点,不代表当乐观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与当乐联系(copyright@downjoy.com)