课程设计连连看

课程设计连连看

ID:19519999

大小:321.50 KB

页数:18页

时间:2018-10-03

课程设计连连看_第1页
课程设计连连看_第2页
课程设计连连看_第3页
课程设计连连看_第4页
课程设计连连看_第5页
资源描述:

《课程设计连连看》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、课程设计报告课程名称:面向对象程序设计C++设计题目:连连看专业:计算机科学与技术姓名:学号:指导教师:李晓虹2016年1月7日一、系统需求分析随着人们工作压力变得越来越大,现如今更多的人开始通过玩游戏来排解内心的压力,而各种各样的游戏也排入市场,一些大型网络游戏更是一些年轻用户的最爱,所有连连看游戏面对市场的竞争压力还是非常大的。分析连连看游戏,查找规则并对主要功能进行模仿程序实现,对于实现过程中出现的bug进行调试解决。经过对游戏的初步分析,连连看游戏含有如下规则:根据输入的信息,执行相应的布局,设定游戏的难以程度等,游戏能继续玩的

2、基本点是两次点击的图案相同,并且能够通过某种不超过三个转折点的路线连接起来,使两个图案块消除。二、总体设计2.1界面设计界面采用C#技术实现,分为游戏状态区、游戏区和玩家排行榜。游戏状态区左边是游戏进度,右边是游戏时间,从点开第一个方块开始计时,时间是倒着计算的;每消除一对游戏进度则会加1,时间也会加1,后面会显示对应的百分比;中间一大块区域是游戏区;游戏区的右边是玩家排行榜,排行榜显示对应等级中成绩前三的玩家名称以及分数。2.2功能设计实现功能包括:重新开始、计时、计分、游戏进度显示、排行榜、游戏主题切换、游戏等级切换。当玩家不想玩当

3、前这局或玩的比较困难,觉得玩不下去了,可以点击重新开始进行重新布局,重新计时。计时和计分从实际上来说其实质是一样的,计分是根据玩家某局胜利后所花费的时间,也就是说花了多少时间,分数就是多少,花时间越少,对应的分数越靠前。游戏进度是以一个进度条来显示的,后面还有对应的百分比,能让玩家清晰的知道目前的游戏状态。排榜功能是本游戏中的一个难点,排行榜的数据时存放在xml文件里面的,不同的等级对应不同的排行榜,每当用户变换等级时系统会从xml文件中读取出前三玩家,当玩家胜利时,系统会对当前所得分数与xml中的数据进行比对,如果可以排榜,则提示玩家

4、是否进行排榜,如果玩家想进入排行榜则还需输入名称,系统将会把当前玩家列入排行榜,然后显示到游戏界面上。2.3游戏流程设计运行游戏程序,系统进行初始化、初始化操作包括游戏参数初始化、时间初始化、游戏状态初始化、布局方块、随机排图等,之后等待鼠标单击游戏方块,第一次单击时,游戏开始计时。第一次点击时记录下该方块的坐标,点击的方块边框会显示红色,第二次点击时也获得对应坐标,并进行判断,如果两次点击的为同一个方块,则直接返回,不做任何操作,否则判断两个方块的图案是否相等,如果相等,则进行两个方块位置的判断;两个方块的位置分为两种情况,整个游戏的

5、核心算法也在这里,第一种情况是两个方块的位置处在同一条直线上,水平线上或者垂直线上;第二种情况是两个方块能形成一个矩阵,两个方块分别是这个矩阵的两个对角。在第二种情况中分为两种情况,一种是a转一个拐点能到达b点,另一种是a经过两个拐点到达b点。如果两个点能达成其中的某个条件连通,则画线,然后消除两个点,这里是直接把两个方块从面板上删除了(有些程序是把这两个方块隐藏)。消除一对方块后,游戏进度会加1,剩余时间也会加1秒,右边显示的对应的方块对数会减1。当这些条件都不成立的时候,说明两点之间不能连线,则不进行任何操作。游戏会在两种情况下结束

6、,一种是玩家在规定的时间内把所有的方块都消除了,判断方式有三个,一个是判断进度完成,一个是判断面板上是否还有方块,一个是判断右边显示的方块对数是否为0。运行流程图2.4开发环境开发环境:visualc++6.0开发语言:MFC+C/C++操作系统:windows7/XP三、详细设计实现该功能的代码如下://连连看View.cpp:implementationoftheCMyViewclass//#include"stdafx.h"#include"连连看.h"#include"连连看Doc.h"#include"连连看View.h"#i

7、fdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CMyViewIMPLEMENT_DYNCREATE(CMyView,CFormView)BEGIN_MESSAGE_MAP(CMyView,CFormView)//{{AFX_MSG_MAP(CMyView)ON_COM

8、MAND(ID_Exit,OnExit)ON_COMMAND(ID_Begin,OnBegin)ON_WM_LBUTTONDOWN()ON_WM_TIMER()//}}AFX_MSG_MAPEND_MESS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。