欢迎来到天天文库
浏览记录
ID:58406345
大小:379.50 KB
页数:24页
时间:2020-05-09
《Vc++俄罗斯方块课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、设计题目:模拟俄罗斯方块学生姓名:系别:专业:班级:学号:指导教师:24课程设计任务书题目模拟俄罗斯方块程序在文本窗口下输出特定字符模拟游戏俄罗斯方块的运行。在游戏过程中,每次能随机产生一种方块并自动下落,根据按键控制进行相应的平移、变形和加速下落。消去满行后,根据行数累计分数。分数达到一定值后,等级提升,下落速度加快。游戏区域积满后,游戏结束。同时能响应退出按键,提示是否退出游戏。完成期限:指导教师签名:课程负责人签名:24俄罗斯方块的设计与实现第一章引言41.1.关于题目41.1.1.题目要求41.1.2.选题背景41.2.关于编译软件41.3.关于稳
2、定性4第二章程序设计52.主要功能设计52.1.程序流程5第三章程序实现73.类设计声明73.1.view类73.2.squar类73.3.主要功能的实现83.3.1.游戏界面83.3.2.生成方块93.3.3.方块变形93.3.4.方块显示103.3.5.障碍判断113.3.6.消行计分123.3.7.暂停退出13第四章程序测试144.游戏测试14总结与体会15附录:1624第一章引言1.1.关于题目1.1.1.题目要求利用MicrosoftVisualC++编写一个文本窗口下的俄罗斯方块游戏。要求:(1)利用类和多文件编写。(2)能够记录游戏得分和等级
3、。(3)可暂停/继续游戏,使玩家在不愿游戏时退出。(4)信息提示时显示颜色变化。1.1.2.选题背景俄罗斯方块是家喻户晓的益智小游戏,选择这个题目一是为了将自己的所学知识加以运用,二是俄罗斯方块是我第一个接触到的游戏,它的实现方法也吸引着我。我希望通过探索实践去实现它,在这次学习中从实践和实际的项目中提高自己的编程能力。因此我选定了这个题目。1.2.关于编译软件本程序采用MicrosoftVisualC++6.0的英文版本进行编译。VisualC++6.0是Microsoft公司推出的基于Windows操作系统的可视化C++编程工具,尽管Microsoft
4、公司推出了.NET平台的集成开发环境,但由于其良好的界面和可操作性,加上支持标准C/C++规范,但仍有相当多的编程人员使用VisualC++6.0进行应用系统的开发。1.3.关于稳定性经测试,本程序可以在windows操作系统中稳定运行,较为稳定。24第一章程序设计1.主要功能设计根据分析,俄罗斯方块这个程序一共要实现如下几个功能,开始游戏、游戏的暂停继续、游戏控制和退出游戏。其中游戏控制最为主要和重要,它控制着整个游戏的画面和有关数据的操作,是游戏的核心部分。暂停和退出功能做成一体,在退出的提示下不做任何操作即可实现暂停的功能。程序结构如图2-1所示。
5、图2-1程序结构图1.1.程序流程根据分析后的程序结构图设计出相应的流程图。俄罗斯方块的内容主要包括游戏开始,画背景和边框,显示分数等级和下一个方块的预览图;根据速度没隔一定时间方块自动下落,当有按键操作时,根据相应按键执行动作,每次动作前要判断是否动作可以执行。下落方块满一行时,消去该行,根据消去行数得到相应分数。分数达到一定程度,等级提升,速度加快。同时可以响应Esc按键,提示是否退出程序。24图2-2流程图24第一章程序实现1.类设计声明根据程序的结构,将俄罗斯方块需要实现的功能细化为相应的类成员函数。程序有两个类,一个view类,用于背景相关操作。
6、一个squar类,用于方块相关操作。1.1.view类classview{public:view();//类的缺省构造函数intgetbgdata(int,int);//取得数组x,y点的数据值voidscoreadd(int);//得分增加,根据消去行数voidscorereset();//得分清零,用于升级后voidlevelup();//等级提升,当分数达到规定值后执行intgameover();//游戏结束voidrowdelete();//消除满行voidpreviewset(int(*p)[4]);//设置预览方块的形状数据voidprevie
7、wreset();//预览方块数据清零voidsetdata(int(*)[2]);//设置主游戏区数据值voiddatareset();//主游戏区数据清零voiddrawpreview();//显示预览方块private:intdata[25][26];//主游戏区数组intpreview[4][4];//预览方块数组introwsdelete;//每次消除行数变量intscore;//得分变量intscorelevel;//升级规定值变量intlevel;//等级变量booloverflag;//结束标记变量voidscorelevelup();//
8、升级规定值提升};1.2.squar类24classview;//
此文档下载收益归作者所有