关于连连看寻路算法的思路

本文介绍了连连看游戏中的寻路算法,从基础的连通性判断到优化策略,包括如何判断两张牌是否能连通,如何实现提示功能,以及如何判断整个地图是否有解。通过递归算法和权重分配减少搜索空间,提高效率。最后讨论了算法的性能和可能的改进方向。
摘要由CSDN通过智能技术生成

图-:
0, 0, 0, 0, 0, 0, 0, 0 , 0, 0
0, 8, 0, 0, 0, 0, 0, 0 , 0, 0
0, 0, 0, 0, 0, 0, 0, 0 , 0, 0
0, 0, 0, 0, 0, 0, 0, 0 , 0, 0
0, 0, 0, 0, 0, 0, 0, 0 , 0, 0
0, 0, 0, 0, 0, 0, 0, 0 , 0, 0
0, 0, 0, 0, 0, 0, 0, 0 , 0, 0
0, 0, 0, 0, 0, 0, 0, 0 , 9, 0
0, 0, 0, 0, 0, 0, 0, 0 , 0, 0


  这是一张连连看的地图,假设标8和9的部分是两张相同的牌。
  在数组矩阵中,0表示没有牌,大于1表示有牌。至于是什么牌,那是随机的了。
不要告诉我,你说的“布局算法”是指怎么把牌刚刚好放上去,那个无所谓什么
算法,你只要首先在地图数组中准备好偶数个1,在布牌时保证每种牌是偶数个
(不同种类的牌用大于1的数来表示),相应地放入每个1的位置上就可以了。

一、计算地图上这两张牌能不能连通(当然能了,哈哈)。

这是连连看寻路算法的第一步。
先定义一下两张牌能连的充分条件:
1.两张牌是同一种。
2.两张牌之间有一条全是0的路可以连通。
3.这一条路不能有两个以上的拐角(corner)
满足这三个条件,就可以认为这两张牌是可以连的。

首先,我们依据前两个条件来完成一个基本的寻路算法。
我们的目的是从8到9找出一条可以连通的路来。
那么很明显从8到9的第一步一其有四个方向可以选择,分别是东,南,西,北
(e, s, w, n以中国地图

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值