资源描述:
《c语言俄罗斯方块实验报告和代码详细讲解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.C语言之游戏俄罗斯方块课程设计报告专业:[软件工程]学生姓名:[未猛猛]指导教师:[王星]完成时间:2021年10月3日...目录一、需求分析2二、概要设计2三、详细设计4四、调试分析8五、用户手册9六、测试数据9七、附录10...一、需求分析格式:黑体,四号字,英文用timesnewroman,以下的标题格式均采用该格式。行距为多倍行距,设置值为1.731.该程序是完成一个简易的俄罗斯方块的任务,其要完成几个重要的功能:界面,方块下落,旋转,判断是否还能下落,左右移动,分数,速度设置,清楚满的每行,下个方块的预览等;2.
2、可用#include的头文件来实用几个函数来控制并完成游戏的界面;3.可用7个二维5*5数组去实现下落方块的全部类型,再用随机函数使其随机下落;4.用#include的头文件去使用按键的控制,以保证用户能够合理操作;并用#include的头文件来使用rand函数来随机出示七种方块;完成正常的显示和下个方块的预览;5.用#include来运用时针去控制时间;6.程序执行过程:然后加上几个基本的头文件来执行函数,首先设置按键操作,用:w,a,d,s控制
3、,然后进行界面的初始化设置,启动,时针参数设置,开始新游戏,开始随机下落方块,显示下一个方块,再行旋转,移动,清除,加分,速度参数,最后判断是否已满,停止游戏,打出分数,结束的画面设置,游戏终止...二、概要设计格式:黑体、四号字,同标题一该程序中的函数设置总体主要功能大致如下1.找到合适的方块盒子(7种)使其一一下落box[MAX_C][5][5]={/*MAX_C(7)种预定义的盒子*/这样用类似的7个5*5二维数组来实现每个盒子方块的形状,自此就引荐两个作为介绍,{{0,0,0,0,0},{0,0,0,0,0},{0,
4、0,1,0,0},{0,1,1,1,0},...{0,0,0,0,0},{0,0,0,0,0}},{{0,0,0,0,0},{1,1,1,1,0},{0,0,0,0,0},{0,0,0,0,0}},如此中用1代表显示的格子,0代表空。2.设置时间指针,实现旋转,移动,消去,显示加分,改变速度分别用下面函数表示intsetTimer(Timer*t,unsignedintintv,BOOLen);/*设置时钟t,参数分别为时钟指针,时间间隔,是否活动*/voidrotateBox(intbox1[5][5],intbox2[5
5、][5])/*旋转box1输出到box2*/intmove(intdir)/*实现移动,返回成功与否*/voidclear()/*清除掉满行*/voidprscore()/*打印现在的分数*/voidspe()/*显示速度的改变*/益智游戏俄罗斯方块3.外部函数功能如下图判断最后,游戏结束的操作;用prscore()和界面设置完成界面设置voidinitMap函数和voidrender绘图函数分数的改变与速度设置;用prscore()与spe()来完成判断是否能继续下落;用inttest()函数来完成;方块的旋转和移动下落;
6、用rorate()move()与drop()来实现随机显示方块,并建立下一个;用rand()与voidrebuidNext...开始界面4.建立整个函数的流程图如下:时间指针设定随机出示方块,并显示下个方块实现方块的旋转,移动判断是否到底NY加分,速度设置Y判断是否已满N打印分数,结束处理游戏结束...流程简介:玩家定义游戏开始,游戏显示开始界面,时针已经设定好,然后随机出示方块,玩家进行方块的旋转,左右移动,和下落控制,然后在旁边的表格中出示另一个表格显示下一个即将下落的方块,然后判断是否到达底部,若到,继续出示方块,若没
7、,则可继续变换,下落到低端后在进行判断,是否可以消除该行,再进行分数的变换,速度的调整,然后判断是否已经满,若未满,则继续出示下一个方块,若满,则结束游戏,打印分数,出示结束界面,游戏终止。三、详细设计格式同标题二1.设置七种方块:这个用intbox[MAX_C][5][5]=/*MAX_C(7)种预定义的盒子*/来实现;即七个5*5的盒子数组,方块实体用1表示,0表示空;七种如下所示,细心就会发现{{0,0,0,0,0},{0,0,0,0,0},{1,1,1,1,0},{0,0,0,0,0},{0,0,0,0,0}},{{
8、0,0,0,0,0},{0,0,1,0,0},{0,1,1,1,0},{0,0,0,0,0},{0,0,0,0,0}},{{0,0,0,0,0},...{0,1,1,0,0},{0,0,1,1,0},{0,0,0,0,0},{0,0,0,0,0}},{{0,0,0,0,0},{0,0,1,