今天分享一款VC++ 连连看游戏源码,本款连连看支持背景音乐,可记录游戏成绩,当然,暂时无法与正规的连连看比拟,不过作为学习VC游戏编写的范例,已经很不错了,有需要的朋友可以好好研究啦。
其实,玩过连连看的都知道,连连看其实就是测试能不能用少于等于3条相连的线,连接两个点(图片)。线的条数为0~3条,先只实现了逻辑,并做了智能测试,程序自己可以演示玩连连看的过程。
其中:0条线表示两个点相邻,在坐标轴上看就是X轴相同,Y轴值相差1,或是Y轴相同X轴值相差1。
1条线表示两个点同X或是同Y轴,且两点之间没有其他点;
2条线表示两个点确定的长方形,存在连接两个点的两边上都没有其他任何点;
3条线复杂点,经过反复的思考,决定将3条线的情况分成5类:上下左右中(东南西北中)。这样的分类主要是想让代码更好理解,思路看起来更简单点;
上:连接两个点的3条线的第二条线在两个点的上面;
中:连接两个点的线在这两个点确定的长方体内(包括长方体的边)。
所有的情况都包括在0~3条线的情况中,实现这三种情况,连连看的最主要功能就算是实现了。在实现方面用得最多的就是判断两个点是否在同一条直线上,且直线上没有其他点,两条线和三条线的情况都可以转化成两组或是三组两个点是否在同一条直线上的问题。
在实现上,我用了一个二维数组A[row][column]来标示某个点上是否有图片,且这两个点是否是同一种图片,0表示没有图片,其他值表示有图片,如果两个点的值相同表示是相同的图片,然后我们就至于要测试这两个点是否想通了。所有的实现都是基于这个二维数组A的。在这一版里,我主要是实现了所有的逻辑,没有做界面,界面准备用QT实现,但由于我跟QT还不熟,所以还得等一段时间,先实现了大致的逻辑,并模拟了连连看的过程,模拟的过程发现了一些错误,但最后也证明我的实现是正确的,也没有任何性能问题,当然也跟连连看的特殊有关,因为连连看的最主要的功能其实就是测试两个点是否能连接成功,而判断指令对于计算机来说执行是非常快的。
源码展示:
需要源码的小伙伴们可以滴滴小编,如果你的零基础,小编手上刚好有最新2019年C语言入门到精通级别的视频,私信小编“01”获取素材、视频资料或开发工具。
你的关注,便是小编持续分享的动力,谢谢。
声明:本文内容来源于网络,如有侵权请联系删除