- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
PAGE
.
C语言之游戏俄罗斯方块课程设计报告 专
C语言之游戏
俄罗斯方块课程设计报告
专业: []
学生姓名: []
指导教师: []
完成时间:
目录
TOC \o 1-3 \h \z \u 一、需求分析 2
二、概要设计 2
三、详细设计 4
四、调试分析 8
五、用户手册 9
六、测试数据 9
七、附录 10
一、需求分析格式:黑体,四号字,英文用times new roman,以下的标题格式均采用该格式。行距为多倍行距,设置值为1.73
格式:黑体,四号字,英文用times new roman,以下的标题格式均采用该格式。行距为多倍行距,设置值为1.73
该程序是完成一个简易的俄罗斯方块的任务,其要完成几个重要的功能:界面,方块下落,旋转,判断是否还能下落,左右移动,分数,速度设置,清楚满的每行,下个方块的预览等;
可用#include graphics.h的头文件来实用几个函数来控制并完成游戏的界面;
可用7个二维5*5数组去实现下落方块的全部类型,再用随机函数使其随机下落;
用#include conio.h的头文件去使用按键的控制,以保证用户能够合理操作;并用#include stdlib.h的头文件来使用rand函数来随机出示七种方块;完成正常的显示和下个方块的预览;
用 #include bios.h来运用时针去控制时间;
程序执行过程:然后加上几个基本的头文件来执行函数,首先设置按键操作,用:w,a,d,s控制,然后进行界面的初始化设置,启动,时针参数设置,开始新游戏,开始随机下落方块,显示下一个方块,再行旋转,移动,清除,加分,速度参数,最后判断是否已满,停止游戏,打出分数,结束的画面设置,游戏终止...
二、概要设计格式:黑体、四号字,同标题一
格式:黑体、四号字,同标题一
该程序中的函数设置总体主要功能大致如下
1.找到合适的方块盒子(7种)使其一一下落 box[MAX_C][5][5] = { /*MAX_C(7)种预定义的盒子*/ 这样用类似的7个5*5二维数组来实现每个盒子方块的形状,自此就引荐两个作为介绍, {
{0,0,0,0,0},
{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},
{1,1,1,1,0},
{0,0,0,0,0},
{0,0,0,0,0}
},如此中用1代表显示的格子,0代表空。
设置时间指针,实现旋转,移动,消去,显示加分,改变速度分别用下面函数表示
int setTimer(Timer *t, unsigned int intv, BOOL en);
/*设置时钟t,参数分别为时钟指针,时间间隔,是否活动*/
void rotateBox(int box1[5][5], int box2[5][5])
/*旋转box1输出到box2*/
int move(int dir) /*实现移动,返回成功与否*/
void clear() /*清除掉满行*/
void prscore() /*打印现在的分数*/
void spe()/*显示速度的改变*/
益智游戏 俄罗斯方块3.外部函数功能如下图
益智游戏
俄罗斯方块
判断最后,游戏结束的操作;用prscore()和界面设置完成界面设置
判断最后,游戏结束的操作;用prscore()和界面设置完成
界面设置
void initMap函数和void render绘图函数
分数的改变与速度设置;用prscore()与spe()来完成判断是否能继续下落;用int test()函数来完成;方块的旋转和移动下落;用rorate()move()与drop()来实现随机显示方块,并建立下一个;用rand() 与void rebuidNext
分数的改变与速度设置;用prscore()与spe()来完成
判断是否能继续下落;用int test()函数来完成;
方块的旋转和移动下落;用rorate()move()与drop()来实现
随机显示方块,并建立下一个;用rand() 与void rebuidNext
开始界面4.建立整个函数的流程图如下:
开始界面
时间指针设定
时间指针设定
随机出示方块, 并显示下个方块
随机出示方块,
并显示下个方块
实现方块的旋转,移动
实现方块的旋转,移动
判断是否到底
判断是否到底
N
Y
加分,速度设置
文档评论(0)