C++俄罗斯方块课程设计.doc
《C++俄罗斯方块课程设计.doc》由会员分享,可在线阅读,更多相关《C++俄罗斯方块课程设计.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 商丘职业技术学院 毕业论文 C+俄罗斯方块设计论文 学生姓名:张 辰 院 系:计算机系 专 业:信息安全 学 号: 辅导教师:赵 康 2012 年 月 日 前言C+程序设计牵涉到面向对象程序设计的理论、C+语言的语法以及算法等3个方面的内容,其中每一方面都包含十分丰富的内容,都可以分别单独成论。显然在一个程序中深入、详细地介绍以上3个方面的知识是不可能的,必须把它们有机地结合起来,综合应用。不同的书对此采取不同的写法,侧重点有所不同,各有道理,也各有优缺点,适合于不同的读者。需要在教学实践中检验,取长补短,不断完善。 作者认为:要进行C+程序设计当然需要了解面向对象程序设计的有关概念,但是本
2、课程毕竟不是一门面向对象程序设计的理论课程,在本书中不是抽象地介绍面向对象程序设计的理论,而是在介绍C+语言的特点和应用过程中自然地引出面向对象程序设计的有关概念,通过C+的编程过程理解面向对象程序设计方法。在介绍程序设计过程中,介绍有关的算法,引导读者思考怎样构造一个算法。编写程序的过程就是设计算法的过程。 要用C+编程序,最基本的要求是正确掌握和运用C+。由于C+语法复杂,内容又多,如果对它缺乏系统的了解,将难以真正应用,编出来的程序将会错误百出,编译出错,事倍功半。本书的做法是全面而系统地介绍C+的主要特点和功能,引导读者由简而繁地学会编写C+程序。有了C+编程的初步基础后,再进一步提高
3、,掌握更多更深入的算法。这样的方法可能符合大多数学习者的情况,降低了学习难度。程序设计是一门实践性很强的课程,只靠听课和看书是学不好的。衡量学习好坏的标准不是“懂不懂”,而是“会不会干”。因此必须强调多编程,多上机实践。考虑到不同学校、不同专业、不同读者对学习C+有不同的要求。 introduction C+ programming involves the object-oriented programming theory, C+ language syntax, as well as algorithm 3, such as the content of each of these ar
4、eas contains 10 sub-rich content, you can separate into theory. It is obvious that in a program in-depth and detailed information relating to the above three aspects of the knowledge is not possible, they must be organically, integrated applications. The book takes a different approach to the law, t
5、he focus is different, there is a measure of truth, and the advantages and disadvantages, and suitable for different audiences. Needs to be tested in practice in teaching and learning from each other, and continuously improved.The author believes that: for C+ programming of course need to know about
6、 object-oriented programming concepts relating to the course, after all, but this is not a facade to the object of design theory course, and in this book is not an abstract presentation of object-oriented programming theory, but in introducing C+ language features, and application process naturally
7、leads to the concept of object programming, through C+ programming process understanding object-oriented design approach. In the process of programming, and presentation of the relevant algorithms guide the reader to think about how to construct an algorithm. Write a program that is the process of t
8、he algorithm design process.You want to use C+ programming, the most fundamental of which is properly mastered and used C+. Since C+ syntax, content and more complex, if you lack the system, and it will be difficult to actually apply to the Error 100 will be a compilation errors, and frustrating. Th
9、e books approach is comprehensive and systematic introduction C+ main features and functions, and guide the reader from simple to ensure that learning to write C+ programs. There are a C+ programming after the initial basis, to further increase, and have a more in-depth of the algorithm. In this way
10、 may be in line with most of the learners, reducing the learning curve.Programming is a practical, very strong, and can only rely on lecture courses and read a book that didnt have the. Measure the learning of the standard is not good or bad understand it or not, but the dry will be. Therefore, it m
11、ust be stressed more programming, more than the practice. Taking into account the different schools, different professions, different readers to learn C+ have different requirements. 目录第一章 系统概述1 . 1 课程设计的目的和要求-11 . 2 课程设计任务内容-11 . 3 关于编译软件-1第二章 详细设计说明-22 . 1 程序设计-2 2 .1 .1 主要功能设计-2 2 .1 .2 程序流程图-22
12、. 2 参数说明-3 2 .2 .1 类设计声明(view类)-3 2 .2 .2 类设计声明(squar类)-42 . 3 函数功能说明-5 2 .3 .1 游戏界面-5 2 .3 .2 生成方块-5 2 .3 .3 方块变形-6 2 .3 .4 方块显示-6 2 .3 .5 障碍判断-7 2 .3 .6 消行计分-7 2 .3 .7 暂停退出-72 . 4 程序调试-92 . 5 软件使用说明-9第三章 心得与体会-10附录1-11附录2-11 第一章 系统概述1.1课程设计的目的和要求 俄罗斯是家喻户晓的益智小游戏,选择这个题目一是为了将自己的所学知识加以运用,二是俄罗斯方块是我第一个接
13、触到的游戏,它的实现方法也吸引着我。我希望通过探索实践去实现它,在这次学习中从实践和实际的项目中提高自己的编程能力。因此我选定了这个题目。C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序对给出的程序源代码要给出各部分的详细注释自己根据能力及需要添加相应功能模块,增强模拟系统功能。1.2课程设计任务内容利用Microsoft Visual C+编写一个文本窗口下的俄罗斯方块游戏。要求:(1)利用类和多文件编写。(2)能够记录游戏得分和等级。(3)可暂停/继续游戏,使玩家在不愿游戏时退出。(4)信息提示时显示颜色变
14、化。1.3关于编译软件本程序采用Microsoft Visual C+6.0的英文版本进行编译。VisualC+6.0是Microsoft公司推出的基于Windows操作系统的可视化C+编程工具,尽管Microsoft公司推出了.NET平台的集成开发环境,但由于其良好的界面和可操作性,加上支持标准C/C+规范,但仍有相当多的编程人员使用VisualC+6.0进行应用系统的开发。关于稳定性,经测试,本程序可以在windows操作系统中稳定运行,较为稳定。 第二章 详细设计说明2.1程序设计2.1.1主要功能设计根据分析,俄罗斯方块这个程序一共要实现如下几个功能,开始游戏、游戏的暂停继续、游戏控制
15、和退出游戏。其中游戏控制最为主要和重要,它控制着整个游戏的画面和有关数据的操作,是游戏的核心部分。暂停和退出功能做成一体,在退出的提示下不做任何操作即可实现暂停的功能。程序结构如图2.1所示。 图2.1 2.1.2 程序流程图根据分析后的程序结构图设计出相应的流程图。俄罗斯方块的内容主要包括游戏开始,画背景和边框,显示分数等级和下一个方块的预览图;根据速度没隔一定时间方块自动下落,当有按键操作时,根据相应按键执行动作,每次动作前要判断是否动作可以执行。下落方块满一行时,消去该行,根据消去行数得到相应分数。分数达到一定程度,等级提升,速度加快。同时可以响应Esc按键,提示是否退出程序。如图2.2
16、所示。 图2.2 2.2参数说明根据程序的结构,将俄罗斯方块需要实现的功能细化为相应的类成员函数。程序有两个类,一个view类,用于背景相关操作。一个squar类,用于方块相关操作。2.2.1类设计声明(view类)class viewpublic:view();/类的缺省构造函数int getbgdata(int,int);/取得数组x,y点的数据值void scoreadd(int);/得分增加,根据消去行数void scorereset();/得分清零,用于升级后void levelup();/等级提升,当分数达到规定值后执行int gameover();/游戏结束void rowdel
17、ete();/消除满行void previewset(int (*p)4);/设置预览方块的形状数据void previewreset();/预览方块数据清零void setdata(int (*)2);/设置主游戏区数据值void datareset();/主游戏区数据清零void drawpreview();/显示预览方块private:int data2526;/主游戏区数组int preview44;/预览方块数组int rowsdelete;/每次消除行数变量int score;/得分变量int scorelevel;/升级规定值变量int level;/等级变量bool overf
18、lag;/结束标记变量void scorelevelup();/升级规定值提升;2.2.2类设计声明(squar类)class view;/先向引用声明class squarpublic:squar();/类的缺省构造函数squar(squar &);/拷贝构造函数friend void cursor(int,int);/友元函数 控制光标位置void getcursor(int &,int &);/取得位置记录坐标void make();/随机产生一个方块void getmake(int (*p)4);/取得方块数据值void draw();/显示主方块void drop(view &);/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 俄罗斯方块 课程设计
限制150内