多语言展示
当前在线:1186今日阅读:23今日分享:31

一个小游戏【连连看】算法解析

昨天玩了连连看。挺好玩的。然后做了一个功能实现暂时没有漂亮界面的连连看。下面我就用通俗的语言讲一下这个算法思想。
工具/原料

VisualStudio6.0

方法/步骤
1

连连看玩法:最多有两个拐角

2

连连看算法:水平扫描和垂直扫描。 先看水平的,首先,要找到棋子往左右可以延伸的范围,这里的延伸是指左右有多少空的位置;然后,计算水平坐标上两个棋子延伸出来的公共部分;最后,找公共的水平坐标里有没有可以“垂直直连”的。

3

接着再看垂直扫描:

4

只要两个图片能够在伸展后的位置能够直接连通的话,说明可以消去o了由于木有界面暂时可以按照下面这张图片想象

5

下面是游戏开始时候的界面:相同的数字代表同种颜色的小球。0代表空位置。0 代表是空的道路,木有图片大于1的相同的数字表示相同的图片游戏规则:1分别输入选择的两张图片的横纵坐标2行和列从0开始数数3由于是随机生成的矩阵,所以每次运行生成不同的界面 C 源码:

6

下面是C语言具体实现的代码。

7

接着上面的。

推荐信息