连连看可以消除算法

1,识别出屏幕上的有效图片.
2,按行和列分别取出每个图片.
3,为每个图片编码.得到一个矩阵编码表.
4,按编码计算出图片种类,并计算出每个种类的数量.
5,删除种类数量为单的图片.因为单个图片不可能消除,它就是背景.代表通路.
6,声明一个有效图片矩阵表, 如: new bool[列, 行];
7,按编码表去对照图片种类表,是图片就对应位置为true,不是就为false.
8,从编码表内取出一对图片,对照有效图片矩阵表,看能否消除.
至于怎么测试能否消除,如下:
现在我们有了一张布尔表,里面记录着哪里为图片,哪里为背景,可以通过.
也有了两个相同的图片的坐标.要确定它们能否连通.
从A坐标可以得到它的方位图,即它和四条边的状态.
再得到它的直通图,即它的上下左右能到达的地方.
再从它的直通图得到它的连接图.即拐个弯也能到达的地方.
B坐标也一样.但它不需要计算连接图了.

最后,比较两个坐标的直通图有没有交叉点,有的话就可以直通消除.
比较A坐标的连接图和B坐标的直通图,有交叉点就可以连接消除.

如果需要软件,可以在天空软件那里下载.
如果需要源码.可以通过QQ:418759528.传送.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值