收藏 分享(赏)

连连看项目设计.doc

上传人:kpmy5893 文档编号:6611037 上传时间:2019-04-18 格式:DOC 页数:64 大小:1.15MB
下载 相关 举报
连连看项目设计.doc_第1页
第1页 / 共64页
连连看项目设计.doc_第2页
第2页 / 共64页
连连看项目设计.doc_第3页
第3页 / 共64页
连连看项目设计.doc_第4页
第4页 / 共64页
连连看项目设计.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、武汉工程大学 计算机科学与工程学院项目报告设计名称: Windows 程序设计综合项目 设计题目: 连连看游戏项目开发 学生学号: 1005110129 专业班级: 二一级信息技术 01 班 学生姓名: 周 敏 学生成绩: 指导教师(职称): 张俊(副教授) 课题工作时间: 2012 年 4 月 说明:1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、

2、全面的评价。4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。答辩小组成员应由 2 人及以上教师组成。5、报告正文字数一般应不少于 5000 字,也可由指导教师根据本门综合设计的情况另行规定。6、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计) ,各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。成绩评定表类别 合计分值 各项分值 评分标准 实际得分 合计得分 备注平时表现 10 10按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。20按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。

3、完成情况 3010能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。10报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5 课题背景介绍清楚,综述分析充分。5 设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5 符号统一;图表完备、符合规范要求。5 能对整个设计过程进行全面的总结,得出有价值的结论或结果。报告质量 355 参考文献数量在 3 篇以上,格式符合要求,在正文中正确引用。10在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。答辩情况 2515 在规定时间内能准确、完整、

4、流利地回答教师所提出的问题。总评成绩: 分补充说明:指导教师: (签字)日 期: 年 月 日答辩记录表答辩地点: 机电大楼 411 机房 答辩内容记录:合计分值各项分值 评分标准实际得分合计得分 备注10在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。答辩成绩 2515 在规定时间内能准确、完整、流利地回答教师所提出的问题。答辩小组成员(签字):年 月 日一、综合设计目的、条件、任务和内容要求:1设计目的Windows 程序设计是计算机科学与技术专业本科生的一门学科基础课程。Windows 程序以图形用户界面(GUI )给用户提供各种功能,在各行各业有着广泛的应用

5、。基于 MFC 的 Windows 程序设计是进行Win32 程序设计的一种主流方法。本课程主要介绍 Windows 程序设计的思想和方法,以及 MFC 的常见应用。本课程综合应用算法与程序设计、面向对象程序设计、数据结构、操作系统、数据库系统原理等课程的知识和方法,面向实际应用和开发,以培养、提高学生的程序设计能力和软件工程能力为目的。通过课程教学、上机实践、综合设计等教学环节,使学生逐步掌握 Windows 程序设计和MFC 的常见应用,并能在实践中熟练应用所掌握的工具和方法解决实际问题。2实施方式本课程重在训练学生的综合设计能力和项目开发应用能力,并强调学生的上机实践能力。按照常规考试方

6、式,不能体现本课程“以理论为基础,侧重实践和应用”的特点,也不能考查学生理解本课程知识的程度以及所培养具备的 MFC 程序设计应用能力。因此申请课程考试改革,拟采用项目开发和课程报告相结合的方式对课程进行考查。实施方式:针对某一综合性较强的 Windows 应用程序项目,学生首先进行上机设计,实现系统功能,然后根据设计内容撰写课程报告,并在规定时间递交程序和纸质报告、答辩,最后根据程序、报告和答辩等进行课程成绩评定。分数比例:项目开发的系统功能和程序代码为 60%,课程报告为40%。3任务和要求:针对某一综合应用项目,完成如下任务:(1)简要的需求分析(2)规划系统主要功能及其结构。(3)完成

7、各项系统功能的设计。(4)形成项目文档和开发报告。4工具与环境:设计工具:Visual Studio指导教师签字: 张俊 2012 年 月 日二、进度安排:第 11 周:系统功能总体设计。第 1213 周:实现系统功能,撰写设计报告,并按时递交。第 13 周:答辩,评定成绩。三、应收集资料及主要参考文献:请自行收集并填写参考文献:5-10 项MFC 相关的书籍;与本应用程序相关的参考文献;1 任哲等编著. MFC Windows 应用程序设计(第 2 版). 北京: 清华大学出版社, 2007.9.四、课程综合设计摘要(中文):为了丰富大众生活,在学习工作之余可以放松心情,设计了连连看的相关项

8、目。该款小游戏不分男女老少,是集休闲、趣味、益智和娱乐于一体的经典小游戏。设计主要以MFC windows 应用程序设计为基础,用 Visual C+中的 MFC 对话框模式进行开发,分版块的写出了游戏的各种功能。从主界面下拉式菜单中可以看到:开始游戏、退出游戏、播放音乐、游戏帮助、英雄榜等主要功能,同时在游戏界面也设计了倒计时和游戏关卡来实时的提醒用户。项目开发中最核心的部分是源代码的设计,经全面考虑,在代码部分设计了 5 个类以响应游戏过程中的各个对话框,同时还有与各功能相关的成员函数来共同完成这些操作,使得该项目更具实用性。 通过不断的调试,项目设计成功的完成了相关功能,同时,设计者的实

9、践能力也有了实质性的提高,经几个用户使用测试,由于该游戏规则简单易懂,画面相较于一般的小游戏更为生动,可行性较高。开始游戏之后,用户可根据个人喜好选择是否播放音乐,在完成当前关卡之后适时选择是否继续。主界面也设有倒计时,适当的增加了游戏的挑战性。由此,该游戏可使各个游戏水平的玩家寻找到合适的挑战目标,从而长期保持游戏的新鲜感。关键词:小游戏 ;MFC 对话框模式 ;源代码;调试;五、课程综合设计摘要(英文):In order to enrich our public life and relax ourselves , I designed related projectabout “Lian

10、 lian kan”. The game regardless of people of all ages and both sexes, This classic game is a collection of leisure, fun, educational and entertainment, The design is mainly based on the “MFC windows application program design” and use MFC dialog mode of Visual C+ in the design process.It points out

11、the various sections of the game function . From the main interface drop-down menu we can see some main function ,such as start game,exit game, play music, help ,heroes. At the same time, the game interface design game countdown and level to remind the user . The source code design is the core part

12、in the project development. After a comprehensive consideration, I design 5 class to in response to the game process in each dialog in the code section. In addition to, there are some related member function to complete the operation, Thus, making the project more practicalAfter repeated debugging,

13、It completed l correlation function successfully.Besides, the designers practice ability also have substantial increase. After several users test, Due to the rules of the game is easy to understand and the picture compared to general game are more vivid, It has the high feasibility. To start the gam

14、e, the user can choose whether to play the music according to personal preference. Upon completion of the current level , the user can choose whether or not to continue. The main interface is also provided with a countdown to appropriate to increase the challenge of the game. In conclusion, The game

15、 makes the various game player to find the right challenge target, thereby keeping freshness of the games.Keywords:small game ; MFC dialog mode; source code; debug武汉工程大学计算机科学与工程学院 综合设计报告- II -目 录摘 要 .Abstract 第一章 课题背景(或绪论、概述)11.1 设计背景和目的.11.1.1 设计背景11.1.2 目的和意义.11.2 主要问题和技术要求 11.2.1 应解决的主要问题11.2.2 应

16、达到的技术要求.21.3 理论依据和主要工作内容21.3.1 基本理论依据.21.3.2 主要工作内容2第二章 设计简介及设计方案论述 . 32.1 设计简介.32.1.1 游戏具有功能.32.1.2 类的定义.32.1.3 成员函数.42.2 设计方案论述.52.3 设计图.6第三章 详细设计 73.1 界面设计.7 3.2 主要功能模块.73.2.1 时间限制模块.73.2.2 消除棋子模块.93.2.3 游戏升级模块.113.2.4 提示消除模块.113.2.5 棋子换盘模块.12武汉工程大学计算机科学与工程学院 综合设计报告III3.2.6 英雄榜、音乐播放、帮助类模板.13第四章 功

17、能测试154.1 进入主界面.15 4.2 帮助.164.3 游戏.164.3.1 开始游戏.164.3.2 消除棋子.174.3.3 换盘.184.3.4 游戏升级.194.4 英雄榜.20总 结.21致 谢.22参考文献 .23 附录 主要程序代码 .武汉工程大学计算机科学与工程学院 综合设计报告IV摘 要为了丰富大众生活,在学习工作之余可以放松心情,设计了连连看的相关项目。该款小游戏不分男女老少,是集休闲、趣味、益智和娱乐于一体的经典小游戏。设计主要以MFC windows 应用程序设计为基础,用 Visual C+中的 MFC 对话框模式进行开发,分版块的写出了游戏的各种功能。从主界面

18、下拉式菜单中可以看到:开始游戏、退出游戏、播放音乐、游戏帮助、英雄榜等主要功能,同时在游戏界面也设计了倒计时和游戏关卡来实时的提醒用户。项目开发中最核心的部分是源代码的设计,经全面考虑,在代码部分设计了 5 个类以响应游戏过程中的各个对话框,同时还有与各功能相关的成员函数来共同完成这些操作,使得该项目更具实用性。 通过不断的调试,项目设计成功的完成了相关功能,同时,设计者的实践能力也有了实质性的提高,经几个用户使用测试,由于该游戏规则简单易懂,画面相较于一般的小游戏更为生动,可行性较高。开始游戏之后,用户可根据个人喜好选择是否播放音乐,在完成当前关卡之后适时选择是否继续。主界面也设有倒计时,适

19、当的增加了游戏的挑战性。由此,该游戏可使各个游戏水平的玩家寻找到合适的挑战目标,从而长期保持游戏的新鲜感。关键词:小游戏 ;MFC 对话框模式 ;源代码;调试; 武汉工程大学计算机科学与工程学院 综合设计报告- V -AbstractIn order to enrich our public life and relax ourselves , I designed related projects about “Lian lian kan”. The game regardless of people of all ages and both sexes, This classic game

20、 is a collection of leisure, fun, educational and entertainment, The design is mainly based on the “MFC windows application program design” and use MFC dialog mode of Visual C+ in the design process.It points out the various sections of the game function . From the main interface drop-down menu we c

21、an see some main function ,such as start game,exit game, play music, help ,heroes. At the same time, the game interface design game countdown and level to remind the user . The source code design is the core part in the project development. After a comprehensive consideration, I design 5 class to in

22、 response to the game process in each dialog in the code section. In addition to, there are some related member function to complete the operation, Thus, making the project more practicalAfter repeated debugging, It completed l correlation function successfully.Besides, the designers practice abilit

23、y also have substantial increase. After several users test, Due to the rules of the game is easy to understand and the picture compared to general game are more vivid, It has the high feasibility. To start the game, the user can choose whether to play the music according to personal preference. Upon

24、 completion of the current level , the user can choose whether or not to continue. The main interface is also provided with a countdown to appropriate to increase the challenge of the game. In conclusion, The game makes the various game player to find the right challenge target, thereby keeping fres

25、hness of the games.Keywords:small game ; MFC dialog mode; source code; debug武汉工程大学计算机科学与工程学院 综合设计报告- 1 -第一章 课题背景 1.1 设计背景和目的 1.1.1 设计背景不管在那个小游戏网站, “连连看”游戏总是排在受玩家欢迎排名的前几位。因为它是不分男女老少,适合大众的集休闲、趣味、益智和娱乐于一体的经典小游戏。该游戏速度节奏快,画面清晰可爱,适合以女生为主体的细心的玩家,游戏中多样式的图片,也给人以美的享受。同时,游戏中的等级划分使玩家在各个游戏水平都可以寻找到挑战的目标,长期的保持游戏的新

26、鲜感。通过对连连看游戏功能的分析,实际操作以及查阅相关的资料,我们可以知道其主要的工作步骤,以此为蓝本,设计出与之相关的源代码来实现它的各项功能。在各类游戏迅速增长的今天,一个好的、真正给大众带来欢乐的游戏是不会被淘汰的。连连看直至如今依旧被接受,它存在的价值已经被肯定了。1.1.2 目的和意义为了进一步了解“连连看”各项功能的实现过程,包括:开始游戏、退出游戏、播放音乐、英雄榜和游戏到计时。此外,巩固和提高自己的对 MFC 项目开发实践能力。尝试着添加自己喜欢的图片来做一个类似的小游戏,在学习之余可用来休闲和娱乐一下。一方面自己增加程序设计学习兴趣,寻找成就感,另一方面为今后步入社会打下基础

27、。1.2 主要问题和技术要求一个设计的成功完成,我们需要做大量的问题及技术要求的分析,以便设计之时思路更清晰,前期工作的好坏直接决定着后面工作的质量。1.2.1 应解决的主要问题(1 首先要解决的问题是怎样成功的绘制游戏的棋盘来显示主菜单和主界面,在之前应通过分析知道主菜单中应包含的游戏功能。(2) 游戏过程中最重要的应该是根据规则消除相同的棋子,在哪些情况下棋子可以消除,当界面无棋子可以消除时该怎么办,这都是设计者必须解决的核心问题。(3) 如何判断成功,即如何判断玩家是否闯关成功,是另一大问题,游戏中需要一个时间限制功能,它可以作为一个判断依据,判断当前闯关者是否成功,此外,闯关成功之后游

28、戏还需要一个升级功能。(4) 游戏结束后,怎样记录游戏结果,是我们最后需要考虑在内的问题。它可武汉工程大学计算机科学与工程学院 综合设计报告- 2 -以让我们实时的查看过去的辉煌成绩。1.2.2 应达到的技术要求通过对设计应解决的主要问题的分析,设计中应达到的技术要求如下:(1) 熟练并灵活运用 MFC 中各类消息响应函数,会根据需要设计相关的菜单以及对话框,对系统中自带的一些函数的功能都应熟悉。(2) 能熟练运用基于 C 语言的各类循环函数和选择函数,如:for,while 和 if等。以此来实现游戏过程中对游戏的选择需求。(3) 有很好的逻辑思维能力和程序调试能力,能清楚知道哪些功能需要用

29、到哪些函数。在程序编译测试时,能够改正错误完善程序功能。1.3 理论依据和主要工作内容1.3.1 基本理论依据本次设计主要基于以 C 语言和 C+为基础的 MFC Windows 应用程序设计,使用MFC 的对话框模式进行开发。程序的编译更加的版块化,使整个设计具有层次感,同时,进一步的保证了数据的安全性。源代码中共设计了 5 个类,增加了对各类成员函数的使用及调用频率,也使得程序的功能更加的丰富。1.3.2 主要工作内容在了解“连连看”的主要工作内容之前,我们需要认真分析它的相关功能,对它的相关功能有了一定的认识之后设计出流程图,在根据流程图按逻辑顺序设计相关的类,并不断的补充完善相关功能的

30、成员函数。初次写成的程序需要不断调试及改善直到可以成功运行处预期结果,在每次不断的调试不断的更新之后,最终完成目标代码。程序主要功能包括:开始、退出、计时、绘制棋盘对于程序运行后详细的工作内容将在后面的章节中详细说明。武汉工程大学计算机科学与工程学院 综合设计报告- 3 -第二章 设计简介及设计方案论述2.1 设计简介2.1.1 游戏具有的功能(1) 显示主菜单和界面游戏需要提供主菜单让玩家进行游戏设置,同时能够显示剩余时间、当前游戏级别等相关信息到界面上。(2) 实现时间限制功能能够游戏状态自动增加或者减少当前时间限制长短。(3) 根据规则消除相同的棋子游戏以鼠标进行操作,第一次单击棋盘中的

31、棋子,该棋子此时为“被选中”状态,以特殊方式显示出来;再次单击其他棋子,若该棋子于被选中的棋子图案相同,且把第一个棋子和第二个连起来,中间直线不超过 3 根,则消掉这一对棋子。(4) 游戏升级功能当游戏中的棋子全部消除完毕时,游戏上升一个等级,游戏每上升一个等级,时间限制长度减少 10 秒。(5) 棋子换盘功能当游戏中的棋子无法全部消除时,可以使用快捷键 F6 调用棋子换盘功能,重新把棋子随机排列来继续游戏,最多可使用 3 次。(6) 英雄榜的更新当有玩家的等级超过当前的记录等级,在游戏结束时,要求玩家把名字输入并保存,游戏初始时记录分数线为 1 级。(7) 背景音乐功能通过主菜单,在游戏开始

32、后,可以选择播放或禁止播放背景音乐功能。默认为禁止播放。(8) 游戏提供帮助说明文档在游戏菜单中,提供一个使用说明文档,以方便对本游戏不了解的玩家对游戏进行操作和使用。武汉工程大学计算机科学与工程学院 综合设计报告- 4 -2.1.2 类的定义程序中主要使用了 5 个类:CLlkDlg、CHelpDlg、CHeroDlg、CChessMan、和CStaticLine。CLlkDlg 类为主对话框类,各个菜单栏的响应函数都关联到类中,在该类中实现游戏开始、播放音乐、英雄榜等各项功能。CHelpDlg 类游戏帮助对话框类,主要是加载帮助的对话框资源。通过资源中的文字说明对游戏操作方法进行描述。该类

33、只包含了单击“我知道了”按钮的响应函数。CHeroDlg 类主要是英雄榜对话框的实现,在该对话框中还关联有配置文件(setup.ini)记录游戏者的信息。CChessMan 类主要包含的功能有游戏的胜负判断处理、游戏升级处理、查找处理和提示等功能。CStaticLine 类主要包括一些消息响应函数和控件窗口函数,主要实现定时控制功能,重绘窗口等。2.1.3 成员函数程序中的成员函数主要集中在 CLlkDlg 类和 CChessMan 类中,成员函数根据其功能特性,在其所在的类中发挥作用。(1) CLlkDlg 类中的实现相关功能的成员函数有:void isHighLevel() 判断玩家结束时

34、是否超过记录。void Start(int nlevel) 为开始游戏,初始等级为 1。 void ShowMsg(CRgn * rgn)在主界面显示游戏等级、剩余时间等各种数据。void InitMap(int mapMAXXMAXY)每次开始前初始化棋盘数据。void ShowMap(int mapMAXXMAXY)开始游戏后显示棋盘数据,玩家开始游戏。void CallExchange()在适当的时候调用换盘接口函数。void CallHint()主要是调用提示接口函数。void Exchange(int mapMAXXMAXY)在无棋子可消除是调用换盘函数,重新随机更新棋盘。void

35、RefreshMap()在换盘或者进入下一关时更新棋盘数组,产生新的随机序列。(2) CChessMan 类中的实现相关功能的成员函数有:BOOL Find(int mapMAXY, POINT p1, POINT p2)功能是查找接口函数,输出武汉工程大学计算机科学与工程学院 综合设计报告- 5 -两个棋子位置。BOOL Find(int mapMAXY, POINT p1, POINT p2, POINT cross1, POINT cross2) 于上面不同的是,它是查找两个棋子间的连线,输出棋子位置。BOOL IsEmpty(int mapMAXY)判断棋盘上的棋子是否消除完毕。sta

36、tic BOOL Hint(int mapMAXY)判断当前棋盘上是否存在可以配对的棋子。static BOOL Hint(int mapMAXY, int* a1, int* a2)查找棋盘上可以配对的棋子,成功时,输出棋子的位置。static BOOL FindLine(int mapMAXY, POINT p1,POINT p2)查找两个棋子间的直线。static BOOL FindCorner(int mapMAXY, POINT p1, POINT p2)查找两棋子是否用两根直线可以连接,即一个拐角的。static BOOL FindCorner(int mapMAXY, POINT

37、 p1, POINT p2, POINT *cross1) 查找两棋子是否用两根直线可以连接,输出拐角坐标。static BOOL FindTwoCorner(int mapMAXY, POINT p1, POINT p2) 查找 3根直线可以连接的棋子,即两个拐角的。static BOOL FindTwoCorner(int mapMAXY, POINT p1, POINT p2, POINT *cross1, POINT *cross2) 根直线可以连接的棋子,输出其坐标位置。 2.2 设计方案论述根据玩家在使用连连看时会涉及到的相关功能,我在整个项目中用几个类分版块的实现。首先设计出对话

38、框,若有按钮则在相应的类中根据其 ID 添加与之相应的响应函数,因为主对话框需要绘制棋盘,则还应添加于绘图相关的响应函数。对于一些游戏功能的实现还要额外的添加成员函数,根据实际体验连连看游戏,了解到,一般的游戏都配有相应的音乐,以及英雄榜等。同时,为了增加难度,一般的游戏都会设置时间限制,为了满足这些功能,我查阅了相关资料后,根据游戏过程流程图设计出了这些功能代码。2.3 设计图(1)经分析后连连看的游戏菜单设计图:武汉工程大学计算机科学与工程学院 综合设计报告- 6 -连连看游戏游戏设置游戏帮助英雄榜开始退出背景音乐帮助关于图 2-1 游戏菜单设计图Picture2-1 Game menu(

39、2)有上述功能图,设计的相关的游戏功能构架如下:连连看棋子操作游戏升级播放音乐主界面显示英雄榜帮助棋子换盘棋子连接提示棋子显示菜单显示更新记录时间限制图 2-2 游戏功能构架Picture2-2 Game architecture武汉工程大学计算机科学与工程学院 综合设计报告- 7 -第三章 详细设计3.1 界面设计与一般游戏类似,连连看的主界面设计有游戏界面、游戏时间和游戏等级几个模块。在最上方设有下拉式的菜单栏。游戏主界面的设计图如下:菜单栏游戏界面 游戏等级游戏时间图 3-1 游戏主界面Picture 3-1 The main game interface3.2 功能模块设计在连连看游戏

40、中大致可以分为 6 个功能模块,各大模块相互作用,共同实现,才有了我们在最后游戏测试所用到的功能。3.2.1 时间限制模块时间限制的算法主要分为以下几步:(1) 设定一个时间定时器 TIMER。(2) 每一次时间间隔到,当前限制时间减少 1s。(3) 游戏中有一对棋子消除时,就把限制时间增加 3 。例如,当前限制时间为 50s,有棋子消除时,限制时间变为 53 。武汉工程大学计算机科学与工程学院 综合设计报告- 8 -(4) 如果限制时间变为 0s,说明游戏结束,弹出结束对话框。如果当前游戏等级超过记录等级,还要弹出英雄对话框。该模块式设计中较为关键的一步,时间的限制使得游戏更加具有挑战性,只

41、有在规定的时间里才能顺利完成游戏。该部分的主要源代码如下:void CLlkDlg:OnTimer(UINT nIDEvent) m_timePoint -= 1;if(m_timePoint m_p=NULL) | (parent-m_p-m_id!=m_id) | (parent-m_p-m_pos.x=m_pos.x)if(parent-m_line.m_lineNum != 0)parent-m_line.m_lineNum = 0;parent-RefreshMap();parent-m_line.Invalidate();else if(Find(parent-map, paren

42、t-m_p-m_pos, m_pos, parent-m_line.m_crossP1, parent-m_line.m_crossP2) parent-mapparent-m_p-m_pos.xparent-m_p-m_pos.y = 0; /消去parent-mapm_pos.xm_pos.y = 0;parent-m_p-ShowWindow(SW_HIDE);this-ShowWindow(SW_HIDE);parent-RefreshMap();parent-m_line.Invalidate();parent-m_p = NULL;parent-m_timePoint += 3;

43、/增加限制时间点 parent-InvalidateRgn( /画时间条if(IsEmpty(parent-map) /判断是否消完int ret = MessageBox(“过关拉!要挑战下一关吗?“, “恭喜你 !“, MB_ICONINFORMATION|MB_OKCANCEL);if(ret = IDOK)parent-Start(+(parent-m_nLevel); /如果继续下一关,则将游戏等级增加 1 。else武汉工程大学计算机科学与工程学院 综合设计报告- 11 -for(int i=0; im_cmGroup.GetAt(i);parent-isHighLevel();

44、/结束游戏时,调用等级判断函数parent-DestroyWindow();if(!Hint(parent-map) /是否无处可消parent-m_exchangeNum+;parent-CallExchange();parent-m_method.SetWindowText(“无可用消除!自动切换!“);elseparent-m_p = this;3.2.3 游戏升级模块该部分的算法主要分为如下几步:(1) 保存当前游戏等级和限制时间初始值。(2) 当游戏中的棋子全部消除时,把当前的游戏等级增加 1 。(3) 把限制时间的初始值减少 10s。(4) 调用重新开始游戏接口函数。由于该部分功能

45、一般和其他功能函数共同作用,没有独立的源代码,再次就 不 一一列出了。3.2.4 提示消除模块提示可消除棋子的算法主要分为如下步骤:武汉工程大学计算机科学与工程学院 综合设计报告- 12 -(1) 判断提示次数的变量值,如果为 0,则提示次数使用完毕,否则进行如下步骤。(2) 查找当前棋盘中相同的棋子。(3) 在相同的棋子中查找可消除的棋子。(4) 给出提示线,提示次数变量减少 1 。在此算法中首先要考虑的事,限制次数是否使用完,然后才能进行棋子的消除。该部分代码如下:if(m_hintNum) /判断限制次数if(CChessMan:Hint(map, temp = (CChessMan *)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报