课程设计连连看.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计连连看

课 程 设 计 报 告 课程名称:面向对象程序设计C++ 设计题目: 连连看 专 业: 计算机科学与技术 姓 名: 学 号: 指导教师: 李 晓 虹 2016 年 1 月 7日一、系统需求分析 随着人们工作压力变得越来越大,现如今更多的人开始通过玩游戏来排解内心的压力,而各种各样的游戏也排入市场,一些大型网络游戏更是一些年轻用户的最爱,所有连连看游戏面对市场的竞争压力还是非常大的。分析连连看游戏,查找规则并对主要功能进行模仿程序实现,对于实现过程中出现的bug进行调试解决。经过对游戏的初步分析,连连看游戏含有如下规则:根据输入的信息,执行相应的布局,设定游戏的难以程度等,游戏能继续玩的基本点是两次点击的图案相同,并且能够通过某种不超过三个转折点的路线连接起来,使两个图案块消除。总体设计2.1 界面设计界面采用C#技术实现,分为游戏状态区、游戏区和玩家排行榜。游戏状 态区左边是游戏进度,右边是游戏时间,从点开第一个方块开始计时,时间是倒着计算的;每消除一对游戏进度则会加1,时间也会加1,后面会显示对应的百分比;中间一大块区域是游戏区;游戏区的右边是玩家排行榜,排行榜显示对应等级中成绩前三的玩家名称以及分数。2.2 功能设计实现功能包括:重新开始、计时、计分、游戏进度显示、排行榜、游戏 主题切换、游戏等级切换。当玩家不想玩当前这局或玩的比较困难,觉得玩不下去了,可以点击重新开始进行重新布局,重新计时。计时和计分从实际上来说其实质是一样的,计分是根据玩家某局胜利后所花费的时间,也就是说花了多少时间,分数就是多少,花时间越少,对应的分数越靠前。游戏进度是以一个进度条来显示的,后面还有对应的百分比,能让玩家清晰的知道目前的游戏状态。排榜功能是本游戏中的一个难点,排行榜的数据时存放在xml文件里面的,不同的等级对应不同的排行榜,每当用户变换等级时系统会从xml文件中读取出前三玩家,当玩家胜利时,系统会对当前所得分数与xml中的数据进行比对,如果可以排榜,则提示玩家是否进行排榜,如果玩家想进入排行榜则还需输入名称,系统将会把当前玩家列入排行榜,然后显示到游戏界面上。2.3 游戏流程设计运行游戏程序,系统进行初始化、初始化操作包括游戏参数初始化、时 间初始化、游戏状态初始化、布局方块、随机排图等,之后等待鼠标单击游戏方块,第一次单击时,游戏开始计时。第一次点击时记录下该方块的坐标,点击的方块边框会显示红色,第二次点击时也获得对应坐标,并进行判断,如果两次点击的为同一个方块,则直接返回,不做任何操作,否则判断两个方块的图案是否相等,如果相等,则进行两个方块位置的判断;两个方块的位置分为两种情况,整个游戏的核心算法也在这里,第一种情况是两个方块的位置处在同一条直线上,水平线上或者垂直线上;第二种情况是两个方块能形成一个矩阵,两个方块分别是这个矩阵的两个对角。在第二种情况中分为两种情况,一种是a转一个拐点能到达b点,另一种是a经过两个拐点到达b点。如果两个点能达成其中的某个条件连通,则画线,然后消除两个点,这里是直接把两个方块从面板上删除了(有些程序是把这两个方块隐藏)。消除一对方块后,游戏进度会加1,剩余时间也会加1秒,右边显示的对应的方块对数会减1。当这些条件都不成立的时候,说明两点之间不能连线,则不进行任何操作。游戏会在两种情况下结束,一种是玩家在规定的时间内把所有的方块都消除了,判断方式有三个,一个是判断进度完成,一个是判断面板上是否还有方块,一个是判断右边显示的方块对数是否为0。运行流程图2.4开发环境开发环境:visual c++ 6.0开发语言:MFC+C/C++操作系统:windows7/XP三、详细设计实现该功能的代码如下:// 连连看View.cpp : implementation of the CMyView class//#include stdafx.h#include 连连看.h#include 连连看Doc.h#include 连连看View.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CMyViewIMPLEMENT_DYNCREATE(CMyView, CFormView)BEGIN_MESSAGE_MAP(CMyView, CFormView) //{{AFX_

文档评论(0)

mmrs369 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档