c语言俄罗斯方块代码及实验报告,c语言俄罗斯方块实验报告和代码详细讲解.doc...

.

PAGE

. .

C语言之游戏俄罗斯方块课程设计报告 专

C语言之游戏

俄罗斯方块课程设计报告

专业: [软件工程]

学生姓名: [未猛猛]

指导教师: [王星]

完成时间: Time \@ "yyyy年M月d日"2019年7月20日

目录

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 的头文件来实用几个函数来控制并完成游戏的界面;

可用7个二维5*5数组去实现下落方块的全部类型,再用随机函数使其随机下落;

用#include 的头文件去使用按键的控制,以保证用户能够合理操作;并用#include 的头文件来使用rand函数来随机出示七种方块;完成正常的显示和下个方块的预览;

用 #include 来运用时针去控制时间;

程序执行过程:然后加上几个基本的头文件来执行函数,首先设置按键操作,用: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()和界面设置完成

界面设置

void initMap函数和void render绘图函数

分数的改变与速度设置;用prscore()与spe()来完成判断是否能继续下落;用int test()函数来完成;

分数的改变与速度设置;用prscore()与spe()来完成

判断是否能继续下落;用int test()函数来完成;

方块的旋转和移动下落;用rorate()move()与drop()来实现

随机显示方块,并建立下一个;用rand() 与void rebuidNext

开始界面4.建立整个函数的流程图如下:

开始界面

时间指针设定

随机出示方块, 并显示下个方块

随机出示方块,

并显示下个方块

实现方块的旋转,移动

实现方块的旋转,移动

判断是否到底

判断是否到底

N

Y

加分,速度设置

加分,速度设置

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值