关于连连看,是比较容易实现的一款小游戏,只要在地图上判断点击的两个位置是否可通就可以了,关于通路又分几种,需要逐个
判断通路。
地图可用一位数组或者二维数组都可以,这里采用二维数组(操作起来没那么麻烦)
及 map[x][y];每个相片需要一个值来表示,至于什么类型可自己定义,但必须有一个特定的值表示地图位置上没有图片,例如用0表示
1. 直线联通:鼠标所选中的地图位置为x下标相同或者y下标相同,这样才有可能直线联通,如果相同,则判断两位置之间的地图标识
是否为通路(及无相片,地图值为0);如 x下标相同,那我们只需要判断 [x][y1]到 [x][y2]之间的值是否都为0就可以了,y下标相同时也是
一个道理。
2.一折角联通,及鼠标点中的两个图片不在同一直线上,这时我们可以创造点来用直线联通的方法实现联通判断,可以选中转角处的点来
处理,两张图片有两处转角点,如鼠标选中(x1,y1) ,(x2,y2),可以创造两个点(x1,y2) ,(x2,y1),然后用(x1,y1),(x2,y2)分别去与(x1,y2)
[或(x2,y1):注;只要其中一个点可以分别与鼠标选中的两个点直联通就可以了]判断 是否都可以直联通,如果有一个创造点可以实现直联通
的,那就可以一折角联通了
3.二折角联通,这个相比起来就麻烦多了,需要创造两个点,而每个点都有4个方向可以的选择,所以需要根据4个方向创造这个转角点,
然后在用一折角的联通方式判断是否可联通就可以了
大致上有这几种情况的判断,具体可以参考程序