连连看课程设计报告材料.docx
- 文档编号:3094283
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:26
- 大小:512.86KB
连连看课程设计报告材料.docx
《连连看课程设计报告材料.docx》由会员分享,可在线阅读,更多相关《连连看课程设计报告材料.docx(26页珍藏版)》请在冰豆网上搜索。
连连看课程设计报告材料
涉外经济学院
课程设计报告
课程名称:
程序设计实训
(2)
报告题目:
连连看游戏的开发
学生:
唐杰
所在学院:
信息科学与工程学院
专业班级:
计科1002班
学生学号:
指导教师:
邹竞
2013年6月25日
课程设计任务书
报告题目
连连看游戏的开发
完成时间
2013-6
学生
唐杰
专业班级
计科1002班
指导教师
邹竞
职称
讲师
总体设计要求和技术要点
设计一个连连看游戏程序,游戏程序的功能需求如下:
游戏区是一个包含了多种不同花色游戏牌的二维棋盘,棋盘的行数和列数可以自行定义。
每一种花色的游戏牌的数量都是偶数。
两花色相同的游戏牌的之间的路径如果满足以下条件,这两游戏牌即可消去:
路径连线由不多于3条的水平和垂直的线段构成,任何一条线段都不能穿越其他的游戏牌,但可以不在棋盘中,路径两端的游戏牌必须具有相同的花色。
游戏只要用鼠标即可进行操作。
最初棋盘里布满了游戏牌,游戏开始时进行计时。
第一次使用鼠标点击棋盘中的游戏牌,该游戏牌此时为“被选中”,以特殊方式显示;再次以鼠标点击其他游戏牌,若该游戏牌与被选中的游戏牌两者花色相同,且把第一游戏牌到第二游戏牌连起来,中间的线段不超过3条,则消掉这一对游戏牌,否则第一游戏牌恢复成未被选中状态,而第二游戏牌变成被选中状态。
每消去一对游戏牌,应检查棋盘是否至少还存在一对能消去的游戏牌,如果不存在,则在原有位置对游戏牌进行重排,直到至少存在一对能够消去的游戏牌。
如果在指定的时间消去了所有的游戏牌,游戏胜利;如果时间耗尽还未能消除全部的游戏牌,游戏失败。
要求每人独立完成,使用主流开发工具,尽可能采用面向对象方法,在设计判断两相同花色游戏牌能否消去的算法时,尽可能使用状态空间搜索算法(如回溯法、分支限界法等),要求代码的具有一定的可读性、可维护性和可扩充性。
可以参考教师给定的程序或者其他程序,但程序和报告严禁全盘抄袭。
工作容及时间进度安排
第11周~第12周:
对需要开发的软件进行需求分析和软件设计
第13周:
论证方案设计
第14周~第16周:
程序设计
第17周:
测试、修改程序,撰写报告
第18周:
验收答辩
课程设计成果
1.与设计容对应的软件程序
2.课程设计总结报告
摘要
在计算机逐步渗入社会生活各个层面的今天,计算机已经成为人们日常生活不可或缺的一部分,越来越多的人使用计算机办公、娱乐、购物等等。
游戏行业发展一日千里,该行业极大的影响和改变了人们的生活和娱乐方式,游戏为消费者提供丰富多彩的虚拟空间,使消费者可以自由自在的享受虚拟世界的乐趣,实现自己在现实生活着那个可能永远不能实现的梦想,满足了消费者的心理和精神需求。
连连看游戏是一款很流行的小游戏,有的是连水果图片,有的是连麻将牌,有的是连各种小图片的等等。
各种图片让人看得眼花缭乱,这也可以锻炼人的反应能力和眼力,所以这款小游戏受到了越来越多人的喜爱,尤其是小孩子的喜爱。
连连看游戏也是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算法设计和语言实现,如C,C#,C++,VB,JAVA等。
在本课程设计中我是利用C#语言编写,开发平台是MicrosoftVisualStudio2010,功能较为简单,寓学于乐。
程序的功能是通过找出游戏中两个相同图案的小方块,然后分别点击两个小方块将其消除;可通过倒计时的方式控制游戏时间,游戏时间到或者没有匹配的图案时则游戏结束,需要重新开局,每一局开始倒计时都重新开始;能够响应鼠标事件。
论文首先介绍了进行该游戏课程设计的目的,然后是任务描述和设计的相关要求,最后是最重要的需求分析和设计方案。
重点介绍了在游戏过程中各种事件的处理,其中又以鼠标事件的处理最为最要,鼠标事件是利用鼠标所发出的信息了解用户的意图,进而做出相对应的动作,消除需要消除的小方块。
关键词:
连连看游戏;算法设计;事件;C#;MicrosoftVisualStudio2010
摘要I
一、课程设计目的1
二、任务描述和要求2
2.1问题描述2
2.2任务描述2
2.3设计要求3
三、需求分析4
3.1功能分析4
3.2功能需求4
3.3功能模块5
3.4系统需求分析总结6
四、设计方案7
4.1总体设计7
4.1.1系统基本功能7
4.1.2系统流程8
4.1.3主要功能模块10
4.2详细设计10
4.2.1规则详解10
4.2.2部分程序代码解析11
4.2.3运行结果分析16
五、总结20
六、参考文献21
一、课程设计目的
《程序设计实训》课程是是计算机科学与技术专业重要的实践性课程之一,其实践性和应用性都很强。
本课程设计是对这门课程经过一个学期的学习后进行的一次全面而综合的练习。
C#程序设计的设计目的就是加深理论教学容的理解和掌握,使学生较系统地掌握程序设计及其在软件开发的广泛应用,同时也是为后续各门计算机课程的学习和毕业设计打下基础。
本次课程设计的目的主要有:
(1)巩固和加深学生对C#的基本知识和语法的理解与掌握;
(2)掌握C#语言编程和调试的基本技能;
(3)运用C#语言对程序进行简单的框架设计;
(4)让学生掌握较为简单的算法分析能力;
(5)提高与运用C#语言能解决实际问题的能力。
(6)更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。
(7)对掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力进行考核。
(8)培养学生综合运用所学知识独立完成课题的能力。
(9)掌握程序设计说明文档的能力与技巧;
二、任务描述和要求
本章主要容包括本课程设计的任务描述和设计要求两大模块。
任务描述主要是介绍在课程设计的整个过程的任务流程和时间规划等;设计要提出课程设计过程中要注意的一些细节问题。
2.1问题描述
连连看游戏,用户需要找出游戏中相同的两个方块,用鼠标分别点击两个相同的小方块,如果它们之间的连接线不超过三条直线,就可以将着两个小方块消掉,当游戏中没有满足条件的图案时,还可以实现重新排列的功能,即点击“重列”按钮就可以重新排列本局游戏中剩余的图案,但计时器还是会继续计时,在游戏结束时能够看到最后的得分。
2.2任务描述
随着人们工作压力变得越来越大,现如今更多的人开始通过玩游戏来排解心的压力,而各种各样的游戏也排入市场,一些大型网络游戏更是一些年轻用户的最爱,所有连连看游戏面对市场的竞争压力还是非常大的。
分析连连看游戏的游戏规则,查找规则并对主要功能进行模仿程序实现,对于实现过程中出现的bug进行调试解决。
经过对连连看游戏的初步分析,游戏含有如下规则:
根据用户执行的鼠标事件,做出相应的消除操作。
在检验两个小方块能否消掉的时候,要让两个小方块同时满足两个条件才行,就是两者配对并且连线成功。
如果要配对并且连线成功又要分为三种情况,也就是检测三种情况。
这三种检测分别检测一条直路径,这样就会有三条路径;如果这三条路径上面都是空的小方块,那么就刚好是三条直线把两个小方块连接起来了。
要让两个小方块连接起来,一条路径最多不能超过三条直线,也就是最多只能有两个转弯。
具体任务如下:
(1)本课题为连连看游戏的开发;
(2)需要为Windows操作系统的用户设计完成一款连连看游戏,这是一个根据某种算法随机排列具有不同图案的小方块,并形成一个友好的用户界面,供用户娱乐之用的小软件;
(3)本游戏在难度设置上跟传统的小游戏有点区别,不是分为初、中、高三个难度等级,而是一个已经固定的难度,即每局游戏的图案种类数为20种,每种图案的重复数为4对;
(4)程序模块清晰,具有较好的人机交互能力,核心代码需要加上必要的注释,以便用户能够很快读懂本游戏的集体实现过程;
(5)设计过程中,前两周,对整个游戏所实现的功能进行详细的设计以及对存在的问题及解决办法进行最终确定;一周完成游戏的程序编写,并优化;最后一周,写出设计本游戏的详细文档说明,并作课程设计汇报;
(6)连连看游戏课程设计实现流程图如图2.1所示:
图2.1课程实现流程图
图2.1描述了整个课程设计的实现流程。
前期工作是制定规则和设计算法,这一阶段主要任务是搜集相关资料,然后根据搜集到的资料结合自己所学知识制定系统实现算法;中期工作是算法实现和调试系统,这一阶段主要任务是完成算法的实现,然后进行调试和优化系统;后期工作是对数据结果进行分析,然后完成课程设计报告。
2.3设计要求
按照指导老师对课程设计的要求,学生要自行完成各个环节,并且实现且达到灵活运用的目的,要求能够全面深入理解和熟练掌握所学的容,能够分析、设计和解答各类专业问题。
(1)系统需求分析,对系统中需要实现的功能进行具体分析和设计;
(2)采用结构化、模块化程序设计思想设计;
(3)理解连连看游戏玩法的特点,并分析玩法的实现功能;
(4)设计是否消除相同小方块的判断算法;
(5)游戏“暂停/重新开始”的实现方法;
(6)进行概念设计和逻辑结构设计,以便使系统实现进展顺利;
(7)进行详细的设计方案,包括总体设计和详细设计,这包括程序设计代码的分析和系统运行界面截图的分析;
(8)要求人机交互性较强,界面较美观;设计方案和执行结果的分析总结。
三、需求分析
需求分析的主要任务即详细的找出程序所需要的各种功能实现,是对系统功能进一步分析和抽象,以确定系统应当做什么的问题,从而完成系统的逻辑设计。
本课程设计是连连看游戏的实现,首先是要实现连连看游戏的基本功能,根据连连看游戏的玩法,设计程序,实现程序功能。
本系统需求分析分为四个部分:
功能分析、功能需求、功能模块和系统需求分析报告。
3.1功能分析
每次用户选择两个相同的小方块,如果小方块满足一定条件(这两个小方块之间存在转弯少于3的路径),则两个小方块可以消掉,给定任意具有相同图案的两个小方块,用户需要寻找这两个小方块之间在转弯最少的情况下,如果这个最优路径的转弯数目小于3,则这两个小方块可以消掉。
所以,主要需要解决的问题就是怎么样得出相同小方块之间的最优路径,这个最优路径首先需要保证转弯数目最少。
游戏开始时,系统会在游戏区域中随机布下20*4个不同图案的小方块。
第一次使用鼠标点击游戏界面中的小方块,该小方块此时为"被选中"状态,再次用鼠标点击其他小方块,若该小方块与被选中的小方块图案相同,且把第一个小方块到第二个小方块连起来,连线的路径中间的直线不超过3根(最多两次转弯),则消掉这一对小方块,否则第一个小方块恢复成未被选中状态,而第二个小方块变成“被选中”状态。
每次消除一对小方块会增加一定的时间。
胜利条件:
将游戏区域上的小方块全部消除掉且时间未消耗完。
失败条件:
时间消耗完,或者剩下的小方块没有路径能够匹配(即界面上的小方块仍未全部消掉)。
3.2功能需求
(1)游戏界面大致分为两大区,左边为游戏操作区,右边是设置区;
(2)本游戏功能较为简单,只具有连连看游戏的基本功能(计时器、积分器、暂停/重新开始、重列),默认的图案种类数是20种,重复数每种图案为4对;
(3)游戏操作区是系统自动排列的默认的20*4个小方块,用户可以点击小方块来消除具有相同图案的小方块;
(4)设置区中显示当前游戏的种类数、重复数、“开始游戏”按钮、“重列”按钮、“暂停/重新开始”按钮和得分情况;
(5)在游戏操作区的下方显示有“剩余时间”的进度条,当进度条的时间耗完时,则游戏结束;
(6)游戏中用到的部分图案如下所示:
123456789101112
1314
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 连连 课程设计 报告 材料
![提示](https://static.bdocx.com/images/bang_tan.gif)