您好,欢迎访问三七文档
俄罗斯方块PPT答辩WehavemanyPowerPointtemplatesthathasbeenspecificallydesignedtohelpanyonethatissteppingintotheworldofPowerPointfortheveryfirsttime.组长:李姗组员:张怡琳,李靖,庾浩彦,邱泽杨目录CONTENTS程序设计背景与引言设计方案与小组分工程序设计与实施设计结果与分析已知技术参数和设计要求01程序设计背景与引言程序设计背景俄罗斯方块曾经是风靡世界的一款单机游戏,通过移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。作为一款经典游戏之一,它曾经创下过许多世界纪录,例如它是在最多平台上运行的视频游戏,也是直接连累玩家坐牢时间最长的游戏,而我们要用C语言来制作俄罗斯方块这款游戏。在我们的设计中要求通过键盘操作让若干种不同类型的方块旋转变化,让其排列成完整的一行或多行并且消除得分。引言通过课程设计实现理论知识与实际情况的结合,使所学知识能够在现实社会中起到一定的作用,增加生活乐趣,提高生活质量。此外通过课程设计提高逻辑思考能力和解决实际问题的能力。程序设计中,语句的语法和常量变量的定义都有严格的要求,有时输了一个中文标点、打错了一个字母,编译就不通过,程序无法正常运行。TOPICHEADERHEREWehavemanyPowerPointtemplatesthathasbeenspecificallydesignedtohelpanyonethatissteppingintotheworldofPowerPointfortheveryfirsttime.02已知技术和参数要求游戏显示更新当游戏方块左右移动、下落、旋转时,要先清除先前的游戏方块,用新坐标重绘游戏方块。当消除满行时,要重绘游戏底板的当前状态。游戏帮助游戏玩家进入游戏后,将有对本游戏如何操作的友好提示。游戏方块控制通过各种条件的判断,实现对游戏方块的左移、右移、快速下落、自由下落、旋转功能,以及行满消除的功能。游戏速度等级更新当游戏玩家进行游戏的过程中,需要按照一定的游戏规则给游戏玩家计算游戏分数。比如,消除一行加100分。当游戏分数达到一定数量之后,需要给游戏者进行等级提升,每上升一个等级,游戏方块的下落速度会加快,游戏难度将增加,消去一行的得分也将增加.已知技术和参数要求应用程序提供友好的图形用户界面应用程序要具备健壮性、稳定性和好的可移植性性能需求03设计方案与小组分工组长:李姗负责:程序总体设计PPT制作组织小组合作完成安排任务组员:张怡琳负责:收集资料并分类课程设计实验报告小组分工组员:李靖负责:编写输入并执行PPT答辩组员:庾浩彦负责:检查程序截图修改其中错误组员:邱泽杨负责:写设计报告辅助各成员5月14日:设计算法,并验证5月25日:检查程序是否满足设计要求并完善.6月5号:制作PPT5月20日:完成程序5月29日:完成设计报告设计方案04程序设计与实施预处理及数据结构头文件#includeiostream//*方法命名空间变量还有方法等数据的文件*//#includewindows.h//*几个常用基本的头文件*//#includevector//*分配拓展的数组,类似数组的容器*//#includemmsystem.h//*运行动画*//#includestdio.h//*标准输入输出函数库*//#pragmacomment(lib,winmm.lib)预处理及数据结构#defineGameW10//*#defineGameH20宏定义定义结构体structPoint{Point(){}Point(intx,inty){_x=x,_y=y;}int_x,_y;};主函数及流程图定义主函数main()和一系列的功能函数,只有通过这些函数才可实现程序生成方块方块下降方块移动方块抵消结束游戏的功能。每次使用都会调用主函数。主函数主要是利用处理,流程图如下图3.1所示开始创建游戏窗口游戏开局游戏结束定时下落方块是否到顶部方块下落一行玩家操作是否到底部是否其余各个功能函数lifeDown函数voidlifeDown(){inti,j;for(i=0;iGameH;i++){for(j=0;jGameW;j++){SetBack(j,i,TRUE);Sleep(10);}}if(g_nLife){g_nLife--;for(i=g_nLife;i6;i++){SetCursor(CtrlLeft+i,15);printf(%c,'');}for(i=GameH-1;i=0;i--){for(j=GameW-1;j=0;j--){SetBack(j,i,FALSE);Sleep(10);g_nGameBack[i][j]=0;}}}else{g_bGameOver=TRUE;}}erase函数voiderase(){inti,j;for(i=0;ibk.len;i++){for(j=0;jbk.len;j++){f(bk.getUnit(j,i,-1)){if(!Out(j+x,i+y)&&g_nGameBack[i+y][j+x]){SetBack(j+x,i+y,FALSE);g_nGameBack[i+y][j+x]=0;}}}}}等等05设计结果与分析运行程序后,会出现以下界面通过操纵“上”“下”“左”“右”键实现对方块的移动当方块落下时顶部再次生成新的方块当方块连成一排时,方块抵消游戏结束谢谢观看
本文标题:俄罗斯方块
链接地址:https://www.777doc.com/doc-7234461 .html