为什么游戏开发很难?程序员20分钟搞定C++连连看游戏,亲自带小白入门

VC++连连看游戏,由VC++ Win32模式开发。很高兴你能百忙之中看我做的游戏,我花了不少时间去熟悉和练习Windows的各种API, 游戏的每一行代码,都是我自己写的.希望你能仔细考量我的代码,更加希望能您你给予我一个学习的机会。

  游戏控制说明:[F1]键用于初始化游戏,音乐部分正在编写中。

游戏界面展示:

为什么游戏开发很难?程序员20分钟搞定C++连连看游戏,亲自带小白入门

游戏思路很简单,用一个数组来存贮各个图片,arrGame[][],每次单击一个图片后,就去查找是否相连。

1.生成地图。开始初始化时,要生成一个地图,这个地图中每个元素的个数必须是偶数,这个功能是用GenerateMap()来执行的,这样可以保证每个元素都有偶数个,元素的放置是随机的。

2.查找路径。当用户单击一个元素时,就会执行FindPath(),这个函数用来查找两个元素是否连通。如果连通,那么返回true,并连接两个元素。

3.查找路径算法。开始想用dfs或bfs来实现,但是路径的拐角不能超过2,那么bfs,dfs可能就不好控制了,所以我选择了如下的方法:把两个点分别做xy轴的平行线,那么我们模拟另一个线来在平行线上移动。

4.图像处理。游戏初始化时,使用CreateCompatibleDC()来创建nBitmap个hdcMem,每个hdcMem是分别存放着不同图片的相关内存hdc设备,当对应位置有元素时,便发生StretchBlt()行为,这个函数将源图像拷贝到窗口的对应位置。

项目结构展示:

为什么游戏开发很难?程序员20分钟搞定C++连连看游戏,亲自带小白入门

部分源码展示:

为什么游戏开发很难?程序员20分钟搞定C++连连看游戏,亲自带小白入门

可能还不是很完美,有待改善,但还是适合初学C++的小伙伴来练练手的。

为什么游戏开发很难?程序员20分钟搞定C++连连看游戏,亲自带小白入门

最后,如果你在学习C/C++的过程中遇到了问题,可以来问小编哦~小编很热情的(●'◡'●)

声明:本文内容来源于网络,如有侵权请联系删除