VC++连连看游戏,由VC++ Win32模式开发。很高兴你能百忙之中看我做的游戏,我花了不少时间去熟悉和练习Windows的各种API, 游戏的每一行代码,都是我自己写的.希望你能仔细考量我的代码,更加希望能您你给予我一个学习的机会。
游戏控制说明:[F1]键用于初始化游戏,音乐部分正在编写中。
游戏界面展示:
游戏思路很简单,用一个数组来存贮各个图片,arrGame[][],每次单击一个图片后,就去查找是否相连。
1.生成地图。开始初始化时,要生成一个地图,这个地图中每个元素的个数必须是偶数,这个功能是用GenerateMap()来执行的,这样可以保证每个元素都有偶数个,元素的放置是随机的。
2.查找路径。当用户单击一个元素时,就会执行FindPath(),这个函数用来查找两个元素是否连通。如果连通,那么返回true,并连接两个元素。
3.查找路径算法。开始想用dfs或bfs来实现,但是路径的拐角不能超过2,那么bfs,dfs可能就不好控制了,所以我选择了如下的方法:把两个点分别做xy轴的平行线,那么我们模拟另一个线来在平行线上移动。
4.图像处理。游戏初始化时,使用CreateCompatibleDC()来创建nBitmap个hdcMem,每个hdcMem是分别存放着不同图片的相关内存hd